- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 411
附錄C MySQL專用函數
本章介紹MySQL專用函數,這些函數可插入在 SQL指令內使用,善用這些函數將使得資料處理更具彈性,然而它們有些是MySQL專用函數,因此只適用於MySQL資料庫而不具可攜性。由於這些指令之語法有些非常冗長,有些可搭配使用之參數也非常繁多,所以本書僅就各指令語法與用途簡單說明,詳細格式請讀者參閱MySQL技術手冊。
C-1 比較函數與運算子
C-1-1 常用比較運算子
= (Equal):等於。回傳值為1(真);0(偽)。
= ( NULL-safe):等於,但結果與 = 不完全一致。回傳值為1(真);0(偽)。
, != (Not equal):不等於。回傳值為1(真);0(偽)。
= (Less than or equal):小於等於。回傳值為1(真);0(偽)。
(Less than):小於。回傳值為1(真);0(偽)。
= (Greater than or equal):大於等於。回傳值為1(真);0(偽)。
(Greater than):大於。回傳值為1(真);0(偽)。
IS boolean_value:屬於True, False, 或Null(未知) 。回傳值為1(真);0(偽)。
IS Not boolean_value:不屬於True, False, 或Null(未知) 。回傳值為1(真);0(偽)。
IS Null:屬於虛值。回傳值為1(真);0(偽)。
IS Not Null:不屬於虛值。回傳值為1(真);0(偽)。
expr BETWEEN min AND max:介於min 和 max之間。回傳值為1(真);0(偽)。
expr Not BETWEEN min AND max:不介於min 和 max之間。回傳值為1(真);0(偽)。
GREATEST(value1,value2,...):取最大值。
範例:Select GREATEST(8, 7,6,3,9); 回傳值:9。
expr IN (value,...):若expr在(value,...)之集合內則傳回1,否則為0。
expr Not IN (value,...):若expr不在(value,...)之集合內則傳回1,否則為0。
ISNULL(expr):若運算式為虛值則傳回1,否則為0。
INTERVAL(N,N1,N2,N3,...) :N大於後續整數值之順位(N從-1起算),若N比後續值小則傳回0。
LEAST(value1,value2,...) :取小值。
範例:Select LEAST(8, 7,6,3,9); 回傳值:3。
註:exp表示一道合法之運算式。
C-1-2 運算說明
(1) 數值及字串比較結果將回傳1 (TRUE),0 (FALSE),或NULL。 若運算式同時包含數值及字串時,必要的話,字串將自動轉型為數值,或數值將自動轉型為字串。
運算式若包含函數時,例如LEAST()、GREATEST() 等,則回傳值不一定是1 (TRUE), 0 (FALSE), 或 NULL,視傳入之引數而定,其比較規則如下述:
若兩個引數有一或兩個為NULL時, 則比較結果為NULL,除非是使用=(NULL-safe型)等號運算子。
若比較運算事中之兩個引數為字串,則以字串作比較。
若比較運算事中之兩個引數為整數,則以整數作比較。
十六進位數值資料將以二進位字串而非以數值作比較。
若其中一個引數為TIMESTAMP或 DATETIME型,另一個為常數,則常數將被轉為TIMESTAMP,但此規則不適用於IN()型式。為了安全起見,儘可能以相同型式之資料作比較。
其餘型式之引數將使用浮點數(實數)作比較。
(3) 字串比較時,將不區分大小寫。
(4) 數值資料可用CAST()函數轉型為字串,字串可用CONVERT()函數轉型為其它字元集。
C-2 流程控制函數
1. Case … When … Then … Else …End
語法:CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END
說明:若compare-value等於value,則傳回對應段Then 之result,否則傳回Else之 result。
範例1:SELECT CASE 1 WHEN 1 THEN ‘one’ WHEN 2 THEN ‘two’ ELSE ‘more’ END;
結果:one。
範例2:SELECT CASE BINARY ‘B’ WHEN ‘a’ THEN 1 WHEN ‘b’ THEN 2 END;
結果:NULL。
2. Cas
文档评论(0)