今天我们介绍一些MySQL常用的函数。
日期和时间的函数:
返回当前日期
CURDATE()
返回当前时间
CURTIME()
返回日期d中的月份值,范围1-12
MONTH(d)
查询当前日期,当前时间和生日的月份
SELECT CURDATE(),CURTIME(),MONTH(birthday) FROM t_birthdy;
字符串函数:
查询当前字符串的长度
CHAR_LENGTH(s)
把字符串中所有字母变成大写
UPPER(s)
把字符串中所有字母变成小写
LOWER(s)
查询当前userName的长度,
SELECT userName,CHAR_LENGTH(userName),UPPER(userName),Lower(userName) FROM t_user;
数学函数:
对x取绝对值
ABS(x)
对x取平方根
SQRT(x)
x对y求余
MOD(x,y)
求表中数据的绝对值
SELECT num,ABS(num) FROM t_number;
求4的平方根,9对2取余
SELECT SQRT(4),MOD(9,2) FROM t_number;
加密函数:
一般对用户密码加密,不可逆
PASSWORD(str)
普通加密,不可逆
MD5(str)
加密函数,结果是一个而机制,必须用BLOB类型的字段保存,str是被加密的数据,pswd_str是密钥
ENCODE(str,pswd_str)
解密函数,crypt_str是要被解密的数据,pswd_str是密钥
DECODE(crypt_str,pswd_str)
分别使用用户密码加密和普通加密
INSERT INTO t_pswd VALUES(NULL,'2003-1-1','a',1,PASSWORD('123456'));
INSERT INTO t_pswd VALUES(NULL,'2003-1-1','a',1,MD5('123456'));
使用ENCODE和DECODE进行加密解密
INSERT INTO t_pswd VALUES(NULL,'2003-1-1','a',1,ENCODE('abcd','aa'));
SELECT DECODE(pwsd,'aa') FROM t_pswd WHERE id=5;