没有合适的资源?快使用搜索试试~ 我知道了~
mysq l函数 大全 手册 doc
4星 · 超过85%的资源 需积分: 9 11 下载量 86 浏览量
2010-06-30
20:17:17
上传
评论
收藏 327KB DOC 举报
温馨提示
试读
25页
非常有用的mysql函数集合, 集合了mysql从基本到深入的所有的函数和介绍 可以很方便的查询到各个函数
资源推荐
资源详情
资源评论
附錄 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。
411
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。 若運算
式同時包含數值及字串時,必要的話,字串將自動轉型為數值,或數值
將自動轉型為字串。
(2) 運算式若包含函數時,例如 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。
412
範例 2:SELECT CASE BINARY ‘B’ WHEN ‘a’ THEN 1 WHEN ‘b’
THEN 2 END;
結果:NULL。
2. Case When … Then … Else …End
語法:CASE WHEN [condition] THEN result [WHEN [condition] THEN
result ...] [ELSE result] END
說明:若 condition 為真,則傳回對應段 Then 之 result
,
否則傳回 Else 之
result。
範例 1:SELECT CASE WHEN 1>0 THEN ‘true’ ELSE ‘false’ END;
結果:true。
範例 2:SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2
END;
結果:NULL
3. IF
語法:IF(expr1, expr2, expr3)
說明:若 expr1 運算式為真,則傳回 expr2
,
否則傳回 expr3。
範例 1:SELECT IF(1>2,2,3) ;
結果:3。
範例 2:SELECT IF(STRCMP(‘test’, ‘test1’), ’no’, ’yes’) ;
結果:no。
4. IFNULL’
語法:IFNULL(expr1,expr2)
說明:若 expr1 運算式非虛值,則傳回 expr1
,
否則傳回 expr2。
範例 1:SELECT IFNULL(1,0) ;
結果:1。
範例 2:SELECT IFNULL(1/0,10) ;
結果:10。
C-3 字串函數
1. ASCII (str):將 str 轉成 ASCII 碼。
範例 1:SELECT ASCII(‘2’) ;
結果:50。
範例 2:SELECT ASCII(2) ;
結果:50。
範例 3:SELECT ASCII(‘dx’) ;
結果:100。
413
2. BIN (N):將數值 N 轉成二進制碼,與 CONV(N, 10, 2)等效。
範例:SELECT BIN(12) ;
結果:1100。
3. BIT_LENGTH (str):計算 str 位元數。
範例:SELECT BIT_LENGTH (‘text’) ;
結果:32。
4. CHAR (N,...):將數列 N 轉成字元組。
範例 1:SELECT CHAR (77, 121, 83, 81, ‘76’) ;
結果:MySQL。
範例 2:SELECT CHAR (77, 77.3, ’77.3’) ;
結果:MMM。
5. CHAR_LENGTH (str):計算 str 字元數,若為雙位元組字元時,一個
字元計數一次。
範例 1:SELECT CHAR_LENGTH (‘text’) ;
結果:4。
範例 2:SELECT CHAR_LENGTH (‘資料庫’) ;
結果:3。
範例 3:SELECT LENGTH (‘資料庫’) ;
結果:6。
6. CHARACTER_LENGTH (str):與 CHAR_LENGTH 函數用法相同。
7. COMPRESS (string_to_compress) : 將 string_to_compress 字 串 壓 縮 ,
MySQL 需要有類似 zlib 壓縮函數。
範例 1:SELECT LENGTH(COMPRESS (REPEAT(‘a’, 1000))) ;
結果:21。
範例 2:SELECT LENGTH(COMPRESS (‘’)) ;
結果:0。
範例 3:SELECT LENGTH(COMPRESS (‘a’)) ;
結果:13。
8. CONCAT (str1,str2,...):將第二個及以後字串串接在第一個字串後面。
範例 1:SELECT CONCAT(‘M’, ‘y’, ‘S’ ‘QL’);
結果:MySQL。
範例 2:SELECT CONCAT(‘My’, ‘Null’ ‘QL’);
結果:NULL。
範例 3:SELECT CONCAT(14.3);
414
結果:14.3(字串型態)。
9. CONCAT_WS (separator,str1,str2,...):將第二個及以後字串串接在第
一個字串後面,但是字串間須以 separator 符號間隔。
範例:SELECT CONCAT_ws(‘,’, ‘資’, ‘料’, ‘庫’);
結果:資,料,庫。
10. CONV (N,from_base,to_base) : 將 數 值 N 從 from_base 進 制 轉 成
to_base 進制表示,若 to_base 為負值則以有號表示,否則以無號表示。
範例 1:SELECT CONV('a',16,2);
結果:1010
範例 2:SELECT CONV('6E',18,8);
結果:172
範例 3:SELECT CONV(-17,10,-18);
結果:-H
範例 4:SELECT CONV(10+'10'+'10'+0xa,10,10);
結果:40
11. ELT (N,str1,str2,str3,...):以數值 N 來挑選後續對應之字串。
範例 1:SELECT ELT(1, ’MySQL’, ‘資料庫’ );
結果:MySQL。
範例 2:SELECT ELT(2, ’MySQL’, ‘資料庫’ );
結果:資料庫。
12. FIELD (str,str1,str2,str3,...):以索引鍵 str 搜尋後續之字串集合位置。
範例 1:SELECT FIELD(‘ej’, ’Hej’, ‘ej’, ‘Heja” );
結果:2。
範例 2:SELECT FIELD(‘fo’, ’Hej’, ‘ej’, ‘Heja” );
結果:0。
13. FIND_IN_SET (str,strlist):以索引鍵 str 搜尋後續字串集合之對應位置。
範例:SELECT FIELD_IN_SET(‘b’, ‘a,b,c,d’ );
結果:2。
14. HEX(N_or_S):與 CONV(N, 10, 16)用法相同。
範例 1:SELECT HEX(255 );
結果:FF。
範例 2:SELECT HEX(‘abc’ );
結果:616263。
範例 3:SELECT 0x616263;
結果:abc。
415
剩余24页未读,继续阅读
资源评论
- hlantian2013-07-29这个手册东西不是很全,但是够用
iceblue0711
- 粉丝: 2
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 福袋点点.apk
- Lengyel E. - Foundations of Game Engine Development(卷一卷二合集).zip
- ### 词向量的介绍、使用技巧和优缺点的文章
- 基于STM32F103CBT6单片机GC65+MP2625+CC1101 GPSTrack模块板硬件(原理图+PCB)工程文件
- ### 通道处理过程模拟概念、优缺点和使用技巧
- ### MyBatis动态SQL介绍说明、使用技巧和优缺点
- 上传下载仿163网盘无刷新文件上传 for Jsp-fileupload-jsp.rar
- VMware Workstation业界非常稳定且安全的桌面虚拟机软件-计算机上运行多个操作系统,支持Windows、DOS等
- 基于STM8L101F3P6单片机+LY2508A33P+CC1100遥控器硬件(原理图+PCB)工程文件.zip
- 上传下载WAP图铃下载系统-unimg.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功