主頁(yè) > 知識(shí)庫(kù) > postgresql SQL語(yǔ)句變量的使用說(shuō)明

postgresql SQL語(yǔ)句變量的使用說(shuō)明

熱門標(biāo)簽:地圖標(biāo)注要花多少錢 天津開(kāi)發(fā)區(qū)地圖標(biāo)注app 電銷機(jī)器人能補(bǔ)救房產(chǎn)中介嗎 濟(jì)南外呼網(wǎng)絡(luò)電話線路 電話機(jī)器人怎么換人工座席 廣州電銷機(jī)器人公司招聘 江蘇400電話辦理官方 移動(dòng)外呼系統(tǒng)模擬題 400電話申請(qǐng)客服

一般變量使用我們都是放在函數(shù)里面,這里開(kāi)發(fā)需求,要在SQL直接使用變量,方便查找一些問(wèn)題,比如時(shí)間變量,要根據(jù)時(shí)間進(jìn)行篩選

這里有三種方法可以實(shí)現(xiàn)

1.psql命令使用變量

表數(shù)據(jù)如下:

hank=> select * from tb2;
 c1 | c2  |       c3       
----+-------+----------------------------
 1 | hank | 2018-02-06 10:08:00.787503
 2 | dazui | 2018-02-06 10:08:08.542481
 3 | wahah | 2018-02-06 10:08:15.468527
 4 | aaaaa | 2018-02-06 10:18:39.289523

SQL文本如下

cat hank.sql 
select * from tb2 where c2=:name and c3>=:time;

通過(guò)psql查看

psql -v name="'hank'" -v time="'2018-02-06 10:08:00'" -f hank.sql
 c1 | c2 |       c3       
----+------+----------------------------
 1 | hank | 2018-02-06 10:08:00.787503

或者

 psql -v name="'hank'" -v time="'2018-02-06 10:08:00'" -c '\i hank.sql'
 c1 | c2 |       c3       
----+------+----------------------------
 1 | hank | 2018-02-06 10:08:00.787503

效果一樣

2.\set使用變量

hank=> \set name hank
hank=> \set time '2018-02-06 10:09:00'  
hank=> select * from tb2 where c2=:'name' and c3>=:'time';
 c1 | c2 |       c3       
----+------+----------------------------
 1 | hank | 2018-02-06 10:08:00.787503

3.通過(guò)定義參數(shù)實(shí)現(xiàn)

設(shè)置一個(gè)session級(jí)別的參數(shù),通過(guò)current_setting取值

hank=> set session "asasd.time" to "2018-02-06 10:09:00"; 
SET
hank=> select * from tb2 where c3 >= current_setting('asasd.time')::timest
 c1 | c2  |       c3       
----+-------+----------------------------
 4 | aaaaa | 2018-02-06 10:18:39.289523
(1 row)

補(bǔ)充:postgresql存儲(chǔ)函數(shù)/存儲(chǔ)過(guò)程用sql語(yǔ)句來(lái)給變量賦值

--定義變量
a numeric;

方式一:

select sqla into a from table1 where b = '1' ;  --這是sql語(yǔ)句賦值

方式二:

sql1:= 'select a from table1 where b = ' '1' ' ';
execute sql1 into a; --這是執(zhí)行存儲(chǔ)函數(shù)賦值

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PostgreSQL 正則表達(dá)式替換-使用變量方式
  • postgresql 導(dǎo)入數(shù)據(jù)庫(kù)表并重設(shè)自增屬性的操作
  • postgresql coalesce函數(shù)數(shù)據(jù)轉(zhuǎn)換方式
  • postgresql 中的COALESCE()函數(shù)使用小技巧
  • postgresql 實(shí)現(xiàn)修改jsonb字段中的某一個(gè)值
  • postgresql 存儲(chǔ)函數(shù)調(diào)用變量的3種方法小結(jié)

標(biāo)簽:榆林 濮陽(yáng) 昭通 寶雞 海西 杭州 辛集 溫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《postgresql SQL語(yǔ)句變量的使用說(shuō)明》,本文關(guān)鍵詞  postgresql,SQL,語(yǔ)句,變量,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《postgresql SQL語(yǔ)句變量的使用說(shuō)明》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于postgresql SQL語(yǔ)句變量的使用說(shuō)明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章