一、字符函數(shù)
- LENGTH
獲取參數(shù)值的字節(jié)個(gè)數(shù)
SELECT LENGTH ('lala') ;
結(jié)果: 4
- CONCAT
拼接字符串
SELECT CONCAT ('asd' , 'we' );
結(jié)果: asdwe
- UPPER
將參數(shù)全部變?yōu)榇髮?/h1>
SELECT UPPER(' abcd' );
結(jié)果: ABCD
- LOWER
將參數(shù)全部變?yōu)樾?/h1>
SELECT LOWER(' ABCD' );
結(jié)果: abcd
- SUBSTR
索引從1開(kāi)始,返回指定位置及其之后的字符串
SELECT SUBSTR( ' ABCD' , 2 );
結(jié)果:BCD
截取從指定索引處(第二個(gè)參數(shù))開(kāi)始,獲取索引位置及其后指定字符長(zhǎng)度的字符串(第三個(gè)參數(shù))
SELECT SUBSTR( ' ABCD' , 1,3 );
結(jié)果:ABC
- INSTR
返回第二個(gè)參數(shù)在第一個(gè)參數(shù)中第一次出現(xiàn)的位置,若沒(méi)有出現(xiàn),則返回0
SELECT INSTR('ABCD' , 'CD')
結(jié)果: 3
SELECT INSTR('ABCD' , 'E')
結(jié)果: 0
- TRIM
去除首尾指定的字符,若沒(méi)有指定,則表示去除空格
SELECT TRIM ( '#' , '###acd##sas###');
結(jié)果: acd##sas
- LPAD
用指定的字符實(shí)現(xiàn)左填充指定長(zhǎng)度,同時(shí)也是結(jié)果的最終長(zhǎng)度
SELECT LPAD( 'abc' , 4 , '#'');
結(jié)果: #ABC
- RPAD
用指定的字符實(shí)現(xiàn)右填充指定長(zhǎng)度,同時(shí)也是結(jié)果的最終長(zhǎng)度
SELECT LPAD( 'ABC' , 4 , '#');
結(jié)果: ABC#
SELECT LPAD( 'ABC' , 2 , '#');
結(jié)果: AB
- REPLACE
替換所有的指定的字符串為另一個(gè)字符串
SELECT REPLACE( 'ABCBCD' , 'BC' ,'#' );
結(jié)果: A##D
二、數(shù)學(xué)函數(shù)
- ROUND
四舍五入
SELECT ROUND(-1.55);
結(jié)果: -2
保留指定小數(shù)的位數(shù)
SELECT ROUND (1.547,2);
結(jié)果: 1.54
- CEIL
向上取整,返回大于等于該參數(shù)的最小整數(shù)
SELECT CEIL (-1.0002);
結(jié)果: -1
- FLOOR
向下取整,返回小于等于該參數(shù)的最大整數(shù)
SELECT CEIL (9.99999);
結(jié)果: 9
- TRUNCATE
截?cái)?/h1>
SELECT TRUNCATE (1.6699,2);
結(jié)果: 1.66
- MOD
取模
SELECT MOD(-10,-3)
結(jié)果: -1
三、日期函數(shù)
- NOW
返回當(dāng)前系統(tǒng)日期+時(shí)間
SELECT NOW();
- CURDATE
返回當(dāng)前系統(tǒng)時(shí)間,不包含時(shí)間
SELECT CURDATE();
- CURTIME
返回當(dāng)前時(shí)間,不包含日期
SELECT CURTIME();
- MONTHNAME , DAYNAME 等
返回日期的英文名字
SELECT DAYNAME(NOW());
- STR_TO_DATE
將字符串通過(guò)指定的格式轉(zhuǎn)化為日期
SELECT STR_TO_DATE('4-3#1992', '%m-%d#%Y');
結(jié)果:1992-04-03
- DATE_FORMAT
將日期轉(zhuǎn)化為指定格式字符串
SELECT DATE_FORMAT(NOW(), '%m#%d#%Y');
結(jié)果: 04#27#2019
三、其他函數(shù)
- SELECT VERSION()
獲取sql的版本號(hào)
- SELECT DATABASE()
獲取當(dāng)前所在數(shù)據(jù)庫(kù)名
3)SELECT USER()
獲取登陸用戶名
四、流程控制函數(shù)
- if
一共三個(gè)參數(shù),若第一個(gè)參數(shù)代表的表達(dá)式值為true, 則執(zhí)行第二個(gè)參數(shù)代表的表達(dá)式,否則執(zhí)行第三個(gè)參數(shù)代表的表達(dá)式
SELECT IF (10 > 5 , '大' , '小' );
結(jié)果: 大
- case
用法一:
相當(dāng)于switch case
CASE 要判斷的字段或者表達(dá)式
WHEN 常量1 THEN 要顯示的值1或者與語(yǔ)句1
WHEN 常量2 THEN 要顯示的值2或者與語(yǔ)句2
WHEN 常量3 THEN 要顯示的值3或者與語(yǔ)句3
ELSE 要顯示的值x或者與語(yǔ)句x
END
用法二:
相當(dāng)于多重if
相當(dāng)于switch case
CASE
WHEN 條件1 THEN 要顯示的值1或者與語(yǔ)句1
WHEN 條件2 THEN 要顯示的值2或者與語(yǔ)句2
WHEN 條件3 THEN 要顯示的值3或者與語(yǔ)句3
ELSE 要顯示的值x或者與語(yǔ)句x
轉(zhuǎn)載自SQL常用函數(shù)