MySQL - 常用函數

SELECT truncate(1314.1314*100, -3);   # 131000
SELECT truncate(1314.1314, 0);        # 1314


SELECT FORMAT(423423234.65534453,2);  # 423,423,234.66


SIGN(X):
1、x>0 rtn 1
2、x<0 rtn -1
3、x==0 rtn 0


RAND(X):返回一個[0,1)之間的數,如果RAND(2)==0.123456;下次再運行RAND(2)還是等於0.123456,類似一個標識一樣。





 

CONCAT():如果字符串中包含NULL,返回拼接結果就是NULL。


CONCAT_WS():
SELECT CONCAT_WS('-','a','b','c');
a-b-c
SELECT CONCAT_WS('-','a','b','c',null);
a-b-c
SELECT CONCAT_WS(null,'a','b','c');
NULL


LPAD() | RPAD():用字符串填充到指定長度
SELECT LPAD('abc',10,'?');
???????abc
SELECT RPAD('abc',10,'!');
abc!!!!!!!


REPEAT():重複指定的次數
SELECT REPEAT('hello',3);
hellohellohello


REPLACE():替換指定的字符串
SELECT REPLACE('hello king','king','queen');
hello queen


SUBSTRING():截取字符串,從1開始
SELECT SUBSTRING('abcdef',1,3);
abc






 

返回當前的日期時間
SELECT NOW(), CURRENT_TIMESTAMP(), SYSDATE();


星期天、星期一……星期六
return 1、2……7


SELECT YEAR(NOW()),MONTH(NOW()),DAY(NOW()),HOUR(NOW()),MINUTE(NOW()),SECOND(NOW());


DATEDIFF():計算兩個日期相差的天數
SELECT DATEDIFF('2017-03-06','2017-03-02');
4




 

SELECT MD5('king');


PASSWORD():密碼加密算法
SELECT PASSWORD('root');

六、其他常用函數

SELECT VERSION(), CONNECTION_ID();


SELECT USER(), CURRENT_USER(), SYSTEM_USER(), SESSION_USER();


得到上一步插入操作產生AUTO_INCREMENT的值
SELECT LAST_INSERT_ID();