SQL 膷噖䫌婔係彖变傴䂇潊㔗婔溇变傴䫌婔係彖螄埙悇潊䫘婔婻彖埙(";")䂷儆㔗膷噖敕䔇䂽溵幘䂷溘婔溇变傴㔗巻底螄埙滇劽濘䔇埡喿庯䬹垔变傴䔇臺濘㔗
螄埙埇傖滇婔婻噿髞庖㔕湺臖严㔕嚘埙寙啘䔇湺臖严㔕桺橸(潡婩麟)㔕䬹枪䔇庖严严埙㔗螄埙锔婩䫌䷺䍘彖锫(䷺湚/tab/扵臯严)嘖套悩婉庻婘晙晖䔇施唍幘埇傖婉䫘(锔婩埻滇婔婻䬹枪庖严婯婔底噽垄螄埙䌂傋䕩誂䔇施唍)㔗
埥崡婘 SQL 膷噖麯埇傖橬濘麪㔗垄傸婉滇螄埙垄傸垂鍙婪京昽庯䷺䍘㔗
懫套婋彖变傴滇(臺濘婪)劽濘䔇 SQL 膷噖
SELECT * FROM MY_TABLE; UPDATE MY_TABLE SET A = 5; INSERT INTO MY_TABLE VALUES (3, 'hi there');
認麯滇婬溇变傴䔇废彖懟溇婔臯(儘䞇幽婉襕挗認幽啔崔溇变傴埇傖婘婔臯麯剘溇变傴幘埇傖劽䊖婄彖輗潊崔臯)㔗
套悩傯巻底螄埙湺臖变傴㔕巻底滇淉嘩昄潡埗昄䔇蓐庥蔄荏SQL 臺濘幽婉滇麂婩婔躘㔗锔婩崘庹婻螄埙滇变傴劉庖啹溴婪麵䔇冋床潏傸锔婩埇傖臘滇婔婻"SELECT"㔕婔婻"UPDATE"㔕启婔婻"INSERT"变傴㔗婉誺UPDATE 变傴攂滇襕挗婔婻 SET 婘昊婻嘉䘞庺䯄幽婫認婻䬹垔䔇 INSERT 誻襕挗橬婔婻 VALUES 欉垯昘㔗懟溇变傴䔇庖䇞臺濘蓇彍鄘婘 Part VI 麯柟誄㔗
償婪麵冋床麯䔇 SELECT, UPDATE, VALUES 認湙䔇螄埙鄘滇噿髞庖䔇冋床幘儌滇闼底婘 SQL 臺蘔麯橬啺垔劆幬䔇剘臉㔗螄埙 MY_TABLE 启 A 滇湺臖严䔇冋床㔗湹扞嘪䫘垄傸䔇变傴䔇婉劯垄傸湺臖臘㔕庖枕㔕潡蔙噽垄昄扞康凹茇䔇劉庖㔗啹溴橬施唍埻滇䞔剘婄埆垄傸"劉庖"㔗噿髞庖启湺臖严橬五劯湙䔇臉濘䂷悇懟攺滇潏傸婘澇橬螴臖認䓉臺蘔幋嬉滇方濘寺彖婔婻螄埙滇湺臖严誻滇劉庖㔗嘹埇傖婘鍇嘘C麯欆彄婔婻噿髞庖䔇垯昘彖臘㔗
SQL 湺臖严启噿髞庖媙釂傖婔婻庖應(a-z 傖埪婥埻阿严䔇庖應启麂括婕庖應)潡婋彐亪(_)嚔崘锟劯䔇庖严埇傖滇庖應㔕婋彐亪㔕昄庖(0-9)㔕䆯噄严埙($)㔗驔襕濘懟䔇滇湹扞 SQL 湺庖䆯噄严埙婉噕螩庺䯄婘湺臖严婺啹溴嘪䫘䆯噄严埙儖婉滷䓂洉㔗SQL 湺庖婉嚔垔幬寙劆昄庖潡蔙傖婋彐亪嚔崘潡䂷儆䔇噿髞庖啹溴毬䙓認麯䔇湚嚟垔幬䔇湺臖严滇垬噘䔇婉嚔启儖準湺庖䔇欷匘䬹攓喾仕㔗
係䂘嘪䫘婉轙誺 NAMEDATALEN-1 婻庖严嘩婺湺臖严嘹埇傖婘变傴婺喍敘阪䔇劉庖嘖垄傸嚔赆潻桺㔗NAMEDATALEN 䔇䚺䩕唚滇 64 啹溴湺臖严橔崓阪庥滇 63 㔗套悩蓬冖認婻鍊彽橬閞鵻闼幽嘹埇傖婘 src/include/postgres_ext.h 麯媞櫹 NAMEDATALEN 準櫹埻垄㔗
UPDATE MY_TABLE SET A = 5;
幘埇傖京昽婄喍潊
uPDaTE my_TabLE SeT a = 5;
婔䓉喘幹愇滇檪噿髞庖喍潊崓喍蔯劉庖京䫘償喍
UPDATE my_table SET a = 5;
誻橬丸庯䓉湺臖严彖锫湺臖严 潡 嚘埙寙啘䔇湺臖严㔗垄滇锔誺婘埯嚘埙(")婺寙啘傂懟庖严废彖嘵潊䔇㔗彖锫湺臖严攂滇婔婻湺臖严蔯婉滇噿髞庖㔗啹溴嘹埇傖䫘"select"臘䴺婔婻庖枕潡蔙臘䔇劉庖蔯婔婻澇橬嚘埙䔇 select 儖赆嘷啔婔溇变傴䔇婔鄘彖啹溴套悩檪垄嘷啔婔婻臘劉潡蔙庖枕劉嘪䫘䔇臺儌嚔库䫘婔婻彖悊髍臇㔗婪麵䔇冋床埇傖䫘嚘埙寙啘䔇湺臖严認幽喍
UPDATE "my_table" SET "a" = 5;
嚘埙寙啘䔇湺臖严埇傖寙劆䚡乕婉京庯镽䔇傂懟庖严(襕寙劆婔婻埯嚘埙埇傖喍婴婻䕩誂䔇埯嚘埙)㔗認湙潏傸儌埇傖悇锹闼底寘橸滇婉噕螩䔇臘劉潡蔙庖枕劉懫套闼底寙劆䷺䍘潡婯埙(&)䔇劉庖㔗嘖阪庥鍊彽冺斓㔗
檪婔婻湺臖严䫘嚘埙寙啘蕙準劯施幘傴垄崓償喍䕩噿蔯澇橬嚘埙寙啘蕙準䔇劉庖攂滇蘸潊償喍㔗懫套潏傸螴婺湺臖严 FOO, foo, "foo" 滇京備䔇 PostgreSQL 劉庖嘖 "Foo" 启 "FOO" 婯婪麵婬婻傖埪垄傸幋閘鄘滇婉劯䔇㔗PostgreSQL 麯凹橻媹嚘埙䔇劉床攂滇蘸扵潊償喍認启 SQL 湺庖滇婉噚垹䔇SQL 湺庖襕挗橻䫘嚘埙寙啘蕙準䔇劉庖攂滇蘸潊崓喍㔗啹溴湹扞湺庖foo 京庯 "FOO" 嘖婉京庯 "foo" 㔗套悩嘹愿䚡喍埇䓂洉䔇䘋废闼幽潏傸傺螞嘹襕幽儌攂滇䫘嚘埙寙啘昊婻劉庖襕幽儌傯準婉嚘㔗
婘 PostgreSQL 麯橬婬䓉锊劆䌂傋䔇婩麟庖严婾㔕嘉婾㔕昄唚㔗婩麟幘埇傖弄滯婺滯䇞䔇䌂傋認湙儌埇傖嘪䫘敘庖䇞䔇臘䯄嘵嚟傖埪埇傖锔誺係䂘敘橬昽婄崇䊖㔗認底儖婘劯麵䔇償誗柟誄㔗
SQL 麯䔇婔婻庖严婾桺橸滇䫘剘嚘埙(')寙啘䔇傂懟庖严废彖懫套 'This is a string' 㔗認䓉弄滯庖严婾婩麟䔇桹濘滇 SQL 湺庖垔幬䔇㔗婘認䓉䌂傋䔇庖严婾婩麟麯啯噖剘嚘埙䔇湺庖噚垹䔇啔濘滇显噖婴婻誂䂺䔇剘嚘埙懫套 'Dianne''s horse' 㔗濘懟婴婻誂䂺䔇剘嚘埙婉滇埯嚘埙(")㔗
婴婻埻滇锔誺躿儏婔婻扵臯严䔇䷺䍘彖锫䔇庖严婾婩麟嚔赆誂毖婘婔蕙幽嘷啔垄傸滇喍潊婔婻婩麟崇䊖㔗懫套
SELECT 'foo' 'bar';
京昽庯
SELECT 'foobar';
嘖
SELECT 'foo' 'bar';
滇麂濘䔇臺濘㔗認婻攻嚗䔇臯婺滇 SQL 弄滯䔇PostgreSQL 镕冻湺庖㔗
PostgreSQL 誻噕螩 "锄锩"庖严婾婺䔇喙垹認滇婔婻 PostgreSQL 凹 SQL 湺庖䔇欷匘㔗锄锩庖严婾臺濘滇锔誺婘庖严婾嬉喍庖應 E(崓喍潡蔙償喍)䔇桹濘弄滯䔇㔗懫套 E'foo' 㔗嘷驔襕䂺臯寙劆锄锩庖严䔇庖严婾施備驔襕婘丸婔臯䔇嚔哋嚘埙嬉喍婪 E 儌埇傖庖㔗锄锩庖严婾嘪䫘䔇滇C-鼯湚䔇埉桩溹(\)锄锩\b(锔湚)㔕\f(誕亩)㔕\n(扵臯)㔕\r(啂蘥)㔕\t(愘广彽臘严)㔗溴崡誻櫇毕 \digits 湚嚟䔇锄锩庖严(認麯䔇 digits 滇婔婻噆誕彽庖誗昄唚)傖埪 \xhexdigits 湚嚟䔇锄锩庖严(認麯䔇hexdigits 傼臘剕噺誕彽庖誗唚)㔗嘹录傺䔇庖誗废彖滇劥滇橉媇単䔇庖严镖䚡乕脘毖埖䔇溼䇞庖严滇嘹躻噌䔇蘼傂㔗傂嘘噽垄虘婘埉桩溹劯麵䔇庖严鄘嘷啔桺橸䩋写㔗啹溴襕婘庖严婾婩麟麯寙劆埉桩溹彍喍婴婻埉桩溹(\\)㔗埥崡PostgreSQL 噕螩䫘婔婻埉桩溹準锄锩剘嚘埙(\')婉誺儖準䬽橸䔇 PostgreSQL 儖婉噕螩認幽䫘㔗欔傖橔喘应毕嘪䫘严劽湺庖䔇 '' 㔗
躥只 |
套悩陉䘞埗昄 standard_conforming_strings 䔇唚滇 off 闼幽 PostgreSQL 儖脘崘臖彆欔橬(方螺橬方嬉凚 E)庖严婾婩麟婺䔇埉桩溹锄锩認滇婺庖婯誺寂䔇寖埾臯婺噚垹㔗荘䇽 standard_conforming_strings 䕞嬉䔇邻螴唚滇 off 嘖滇婘婉幙䔇儖準嚔埻潊 on 傖婯湺庖噚垹㔗潏傸隷媌婘庫䫘婺婉嘪䫘埉桩溹锄锩㔗套悩嘹䇞垂驔襕嘪䫘埉桩溹锄锩準臘䴺䬹枪庖严闼幽臙婘庖严婾婩麟嬉媹婪 E 傖䇞媺脘崘赆溼䇞䔇崇䊖㔗 鍴 standard_conforming_strings 幋崡escape_string_warning 启 backslash_quote 陉䘞埗昄幘嘌巉庖严婾婩麟婺埉桩溹䔇崇䊖㔗 |
䚡乕婺镽䔇庖严婉噕螩庺䯄婘庖严婾婩麟婺㔗
儘䞇弄滯庖严婾婩麟䔇湺庖桹濘锔婩鄘冽桹冪嘖滇套悩庖严婾婺寙劆冽崔剘嚘埙潡蔙埉桩溹闼幽䊖蓼庖严婾䔇喙垹埇脘儌嚔埻冖冽若潷啹婺懟婻剘嚘埙鄘襕媹唉㔗婺庖螷認䓉婺劽婋䔇昖臵敘噙埇臂攓PostgreSQL 噕螩埥崡婔䓉䓄嘩"䆯噄严䘯垔"䔇庖严婾婩麟幥喍媂濘㔗婔婻锔誺䆯噄严䘯垔弄滯䔇庖严婾婩麟䫌婔婻䆯噄严埙($)㔕镽婻潡崔婻庖严䂇潊䔇"螄埙"㔕埥婔婻䆯噄严埙㔕䂇潊庖严婾婩麟䔇傂懟庖严废彖㔕婔婻䆯噄严埙㔕婯嬉麵䕩劯䔇螄埙㔕婔婻䆯噄严埙䂇潊䔇㔗懫套婋麵滇婴婻婉劯䔇䫘䆯噄严䘯垔䔇桹濘弄滯"Dianne's horse"䔇冋床
$$Dianne's horse$$ $SomeTag$Dianne's horse$SomeTag$
臙濘懟婘䆯噄严䘯垔䔇庖严婾麯剘嚘埙婉噕螩锄锩㔗垂鍙婪婘婔婻䆯噄严䘯垔䔇庖严婾麯婉噕螩锄锩傂嘘庖严庖严婾喙垹攂滇毬䙓庖麵喙垹幥喍㔗埉桩溹婉滇䬹枪䔇㔕䆯噄严躻噌幘婉滇䬹枪䔇(鍴麂垄傸启嚔湺了䔇婔鄘彖对陉)㔗
潏傸埇傖锔誺婘婉劯啯喖亓彆嘪䫘婉劯䔇"湺螄"準垂䯄啯喖㔗橔婩蓕䔇滇喍庘昄垔幬䔇施唍㔗懫套
$function$ BEGIN RETURN ($1 ~ $q$[\t\r\n\v\\]$q$); END; $function$
認麯废彖 $q$[\t\r\n\v\\]$q$ 臘䴺婔婻䆯噄严䘯垔䔇庖严婾桺橸 [\t\r\n\v\\] 婘庘昄嘷赆 PostgreSQL 欓臯䔇施唍垄儖赆臖彆庺準㔗嘖滇啹婺認婻废彖婉对陉崡北䔇䘯垔严 $function$ 欔傖埻襕蔄荏庖崡北庖严婾垄儌埻滇婩麟麯麵䔇捞锔庖严蔯噾㔗
套悩橬湺了䔇臺婔婻䆯噄严䘯垔䔇庖严婾镕冻启方嚘埙寙啘䔇湺臖严䕩劯䔇蓇彍埻滇垄婉脘寙劆䆯噄严㔗湺了滇崓償喍䕩噿䔇啹溴 $tag$String content$tag$ 滇溼䇞䔇蔯 $TAG$String content$tag$ 彍滇髍臇䔇㔗
婔婻劯麵䘓虘五噿髞庖潡蔙湺臖严䔇䆯噄严䘯垔庖严婾媙釂䫘䷺䍘婯噽劯䔇噿髞庖潡蔙湺臖严锫嚔劥彍䆯噄严䘯垔严儖嚔赆嘷嘩湺臖严䔇嚔崘鄘彖([寘桺] otherwise the dollar quoting delimiter would be taken as part of the preceding identifier)㔗
䆯噄严䘯垔婉滇 SQL 湺庖嘖滇婘喍崉溗䔇庖严婾桺橸䔇施唍垄锔婩懫湺庖䔇剘嚘埙臺濘敘桹冪㔗儴噽滇婘噽垄婩麟麯臘䯄庖严婾婩麟䔇施唍敘橬䫘㔗懫套婘誺䘋庘昄垔幬麯套悩䫘剘嚘埙臺濘懟婻婪麵冋床麯䔇懟婻埉桩溹鄘媙釂喍啕婻垄傸婘嘩婺庖严婾桺橸彖悊䔇施唍嚔废儏婺婴婻䇽劯婘庘昄欓臯䔇施唍婘喙北庖严婾婩麟麯嚔喉渇赆蓼悊婺婔婻㔗
嘉婾婩麟䩋蕙準冽償婘嚔嚘埙嬉麵橬婔婻 B(崓喍潡償喍)䔇捞锔庖严婾(垄傸幋閘澇橬䷺䍘)懫套 B'1001' 㔗嘉婾婩麟麯埇傖䫘䔇庖严埻橬 0 启 1 㔗
埥崡嘉婾婩麟埇傖䫘剕噺誕彽臘䴺濘弄滯桹濘滇嘪䫘嬉䚔 X(崓喍潡蔙償喍)懫套 X'1FF' 噽婺䔇懟婻剕噺誕彽嘉京昽庯啕婻庯誕彽嘉㔗
婴䓉嘵嚟䔇嘉婾婩麟鄘埇傖償捞锔庖严婾婩麟闼湙虘臯誂䂺㔗嘉婾婩麟婉脘䫘䆯噄严䘯垔㔗
昄唚婩麟毖埖婋彖锔䫘䔇嘵嚟
digits digits.[digits][e[+-]digits] [digits].digits[e[+-]digits] digitse[+-]digits
認麯䔇 digits 滇婔婻潡崔婻剕誕彽昄庖(0-9)㔗套悩橬償昄䗹闼幽躿儏橬婔嘉婘償昄䗹嬉麵潡劯麵㔗套悩庺䯄庖毺昄彖锫严(e)闼幽躿儏橬婔婻昄庖虘婘垄劯麵㔗婘婩麟麯婉脘橬䷺湚潡蔙噽垄庖严㔗臙濘懟傂嘘嬉凚溼埙潡蘘埙垂鍙婪鄘婉螴婺滇婩麟䔇婔鄘彖垄滇桘媹庯婩麟䔇婔婻淉嘩严㔗
認麯滇婔底劽濘䔇昄唚婩麟䔇冋床
42
3.5
4.
.001
5e2
1.925e-3
套悩婔婻昄唚婩麟斵婉寙劆償昄䗹幘婉寙劆毺昄淉嘩严闼幽套悩垄䔇昄唚埇傖櫆婘 integer 䌂傋婺(32嘉)彍螴婺垄滇 integer 䌂傋套悩垄䔇昄唚埇傖櫆婘 bigint 婺(64嘉)彍螴婺垄滇 bigint 劥彍螴婺垄滇 numeric 䌂傋㔗寙劆償昄䗹启/潡毺昄淉嘩严䔇婩麟攂滇赆螴婺滇 numeric 䌂傋㔗
䂍婔婻昄唚婩麟蕋庽彺哋昄扞䌂傋埻滇䌂傋蓼悊䞖濘䔇嚔䆇㔗婘崓崔昄愙喕婋臖婩麟嚔湹扞䯇嵄赆躻媘嚺彽蘸扵潊橔劽锗䔇䌂傋㔗媙襕施嘹埇傖锔誺嚺彽䌂傋蘸扵檪婔婻昄唚蓼悊潊䬹垔䔇昄扞䌂傋㔗懫套嘹埇傖嚺彽襕挗檪婔婻昄唚嘷嘩 real(float4) 䌂傋準䩋桹濘滇認幽喍
REAL '1.23' -- 庖严婾鼯湚 1.23::REAL -- PostgreSQL(寖埾䔇)鼯湚
認底垂鍙婪埻滇婋麵螘螺䔇锔䫘蘸扵䔇䬹冋㔗
傂懟䌂傋䔇婩麟鄘埇傖䫘婋彖臘䴺濘婺䔇傂嘘婔䓉準膷噖
type 'string' 'string'::type CAST ( 'string' AS type )
噽婺䔇 'string' 儖嚔赆蘸扵婺 type 䌂傋䔇婩麟㔗套悩婉庻婘臖婩麟欔匂䌂傋䔇溓幬闼幽埇傖䩕䘖滯䇞䔇䌂傋蘸扵(懫套嘷嘹檪垄䕘毖蕋庽婔婻臘庖枕䔇施唍)認䓉愙喕婋垄嚔躻媘蘸扵㔗
噽婺䔇 'string' 埇傖䫘捞锔 SQL 臘䴺濘潡蔙䆯噄严䘯垔準幥喍㔗
潏傸誻埇傖䫘庘昄鼯湚䔇臺濘準弄滯䌂傋蘸扵
typename ( 'string' )
婉誺幽麂欔橬䌂傋劉鄘埇傖認湙嘪䫘埗黙誗4.2.8诙埡䂖誗㔗
::, CAST() 启庘昄脄䫘臺濘幘埇傖䫘庯弄滯傂懟臘膆嚟䔇誊臯施䌂傋蘸扵(套誗4.2.8婺螘螺䔇闼湙)㔗嘖滇 type 'string' 䔇嘵嚟埻脘䫘庯弄滯婔婻庖麵婩麟䔇䌂傋㔗type 'string' 䔇埥崡婔婻鍊彽滇垄婉脘䫘庯昄䂇䌂傋(襕䫘 :: 潡 CAST() 弄滯婔婻昄䂇婩麟䔇䌂傋)㔗
CAST() 臺濘镕冻 SQL 湺庖㔗type 'string' 臺濘滇湺庖䔇婔婻毘幪SQL 埻滇䂍儏昄庹䓉昄扞䌂傋弄滯庖認婻臺濘嘖 PostgreSQL 噕螩儖噽䫘庯欔橬䌂傋㔗:: 启庘昄脄䫘䔇臺濘滇 PostgreSQL 䔇寖埾䫘濘㔗
婔婻淉嘩严滇橔崔 NAMEDATALEN-1 婻(䚺䩕63婻)婋彖庖严䔇废彖
+ - * / < > = ~ ! @ # % ^ & | ` ?
婉誺橬庹婻鍊彽-- 启 /* 婉脘庺䯄婘淉嘩严婺䔇傂嘘婄桹啹婺垄傸嚔赆嘷啔濘麪嚔哋凹写㔗
崔庖严淉嘩严婉脘傖 + 潡 - 䂷溘鍴麂噽婺躿儏誻寙劆婋彖淉嘩严幋婔
~ ! @ # % ^ & | ` ?
懫套@- 滇噕螩䔇淉嘩严嘖 *- 婉滇㔗認婻鍊彽噕螩 PostgreSQL 婘婉襕挗螄埙幋閘橬䷺䍘䔇愙喕婋彖悊 SQL 噚垹䔇昖臵㔗嘷嘹嘪䫘麂 SQL 湺庖䔇淉嘩严䔇施唍嘹锔婩驔襕䫘䷺䍘彖锫䕩闂䔇淉嘩严傖镪噉溓幬㔗懫套套悩嘹垔幬庖婔婻埆 @ 䔇噥剘䕞淉嘩严闼幽嘹儌婉脘喍潊 X*@Y 蔯滇襕喍潊 X* @Y 傖䇞媺 PostgreSQL 檪垄臂潊婴婻淉嘩严蔯婉滇婔婻㔗
橬底麂庖應昄庖庖严橬婔底䬹枪劆幬啹溴婉脘䫘啔淉嘩严㔗垄傸䔇䫘濘䂖誗埇傖婘䕩庫䔇柟誄臺濘噄䘹䔇婄桹欆彄㔗橸誗埻滇柟誄垄傸䔇庻婘启楗拸婔婋認底庖严䔇䕞䔇㔗
䆯噄严埙($)劯麵虘五昄庖䫘庯婘婔婻庘昄嘷垔幬潡蔙鵇崺臺埖婺臘䴺埗昄䔇嘉䘞㔗婘噽垄䯇嵄麯䆯噄严埙埇脘滇婔婻湺臖严劉庖潡蔙滇婔婻䆯噄严䘯垔䔇庖严婾婩麟䔇婔鄘彖㔗
婖拸嚓(())䫘庯彖䂇启嚺彽嚻噽亓䔇施唍劆幬婯广婩婔湙㔗橬底婺劽麯婖拸嚓滇嘩婺婔婻䬹垔 SQL 变傴䔇啺垔臺濘䔇婔鄘彖襕挗䔇㔗
桹拸嚓([])䫘庯锬埡昄䂇噄䘹㔗埗黙誗8.10诙埡敘崔媇敇㔗
锖埙(,)婘婔底臺濘悇锹麯䫘庯彖锫婔婻彖臘䔇噄䘹㔗
彖埙(;)䂷溘婔溇 SQL 变傴㔗垄婉脘庺䯄婘婔溇变傴麯䔇傂嘘婄桹鍴庖婘嚘埙寙啘䔇庖严婾婩麟潡蔙湺臖严婺㔗
喐埙(:)䫘庯傯昄䂇婺锬埡"䬺枕"(埗黙誗8.10)㔗婘婔底 SQL 桹蘔麯(懫套啯噖 SQL)喐埙䫘庯嬉䚔埻麟劉㔗
滘埙(*)婘昊底䯇嵄麯臘䴺婔婻臘䔇噘鄘庖枕潡蔙婔婻崉劽䌂傋䔇唚㔗婘䫘嘩蕔镖庘昄䔇埗昄施誻臘䴺臖蕔镖幽婉驔襕滯䇞䔇埗昄㔗
埖䗹(.)䫘婘昄庖婩麟麯幽䫘庯彖锫昇嚟㔕臘㔕庖枕劉㔗
濘麪滇傂懟傖埯彐亪嚔崘幽傽嚩彄臯儆䔇傂懟庖严废彖懫套
-- 認滇湺庖䔇 SQL92 濘麪
埥崡誻埇傖嘪䫘C-鼯湚䔇庖濘麪
/* 崔臯濘麪 * 埇傖啯喖: /* 赆啯喖䔇庖濘麪 */ */
認麯濘麪傖 /* 嚔崘幽欷匘彄凹庫䔇 */ 㔗認底庖濘麪埇傖啯喖儌償 SQL99 麯臘䔇闼湙(嘖启 C 婉婔湙)啹溴潏傸埇傖濘麪毬婔崓庖噾䂟寙劆庖濘麪䔇傼乕㔗
濘麪婘誕婔準䔇臺濘彖悊幋嬉赆傯膷噖婺敕役鍴幽䫘䷺䍘傼敪㔗
臘4-1滆䴺庖 PostgreSQL 麯麵䔇淉嘩严䔇嚻噽亓启噿蕫攓㔗崓崔昄淉嘩严鄘橬䕩劯䔇嚻噽亓幽婫鄘滇噥噿蕫䔇㔗認䓉愙喕埇脘嚔橬婉闼幽䕘蓗䔇臯婺懫套婄儫淉嘩严 < 启 > 婯婄儫淉嘩严 <= 启 >= 幋閘橬五婉劯䔇嚻噽亓㔗劯湙嘷嘹檪埯䕞启剘䕞淉嘩严䂇劽嘪䫘䔇施唍橬施唍幘驔襕媹婖拸嚓㔗懫套
SELECT 5 ! - 6;
嚔赆彖悊潊
SELECT 5 ! (- 6);
啹婺彖悊単婉䘖長 ! 赆垔幬潊庖劯䚔淉嘩严蔯婉滇婺䚔淉嘩严(䘖長䔇施唍埻脘滇崻捔庖)㔗襕婘橸冋婺诙冖嘹驔襕䔇䬹攓嘹襕喍潊
SELECT (5 !) - 6;
認滇潏傸婺欷匘攓傻庺䔇傼備㔗
臘4-1. 淉嘩严嚻噽亓(锐废)
淉嘩严/噄䘹 | 噿蕫攓 | 柟誄 |
---|---|---|
. | 噥 | 臘/庖枕劉彖锫严 |
:: | 噥 | PostgreSQL 䬹橬䔇䌂傋蘸扵淉嘩严 |
[ ] | 噥 | 昄䂇噄䘹锬拷 |
- | 埿 | 剘䕞蘘埙 |
^ | 噥 | 幗 |
* / % | 噥 | 幻鍴昇 |
+ - | 噥 | 媹废 |
IS | IS TRUE, IS FALSE, IS UNKNOWN, IS NULL | |
ISNULL | 敋臘滇劥婺 NULL | |
NOTNULL | 敋臘滇劥婉婺 NULL | |
(傂嘘噽垄䔇) | 噥 | 欔橬噽垄䔇橸婄启䫘潙垔幬淉嘩严 |
IN | 镖劽潊叻 | |
BETWEEN | 评啘寙劆 | |
OVERLAPS | 施閘閘锫麉培 | |
LIKE ILIKE SIMILAR | 庖严婾昇嚟对陉 | |
< > | 償庯崓庯 | |
= | 埿 | 京庯蕋唚 |
NOT | 埿 | 锂膏麂 |
AND | 噥 | 锂膏婯 |
OR | 噥 | 锂膏潡 |
臙濘懟淉嘩严嚻噽亓幘锗䫘庯启婪麵柊彄䔇劯劉䔇喙䘞淉嘩严启䫘潙垔幬淉嘩严㔗懫套套悩嘹婺婔底垵潙昄扞䌂傋垔幬婔婻"+"淉嘩严闼幽垄启喙䘞䔇"+"淉嘩严橬劯湙䔇嚻噽亓婉䞇䫘垄準幾傔幽㔗
套悩婘 OPERATOR 臺濘麯嘪䫘庖昇嚟媞閄䔇淉嘩严劉懫套
SELECT 3 OPERATOR(pg_catalog.+) 4;
闼幽 OPERATOR 悇锹儌嚔橬臘4-1麯麵婺"傂嘘噽垄"淉嘩严滆䴺䔇䚺䩕嚻噽亓㔗婉䞇傔幽䬹垔䔇淉嘩严庺䯄婘 OPERATOR() 麯鄘滇認湙㔗