5. MySQL常用函数
5.1字符串函数
concat(s1,s2....,s3)合并字符串,如果参数有null,则返回null;
CONCAT_WS(SEP,s1,s2…,sn) 合并字符串,并且按照分隔符串联起来,如果参数中有NULL值,直接忽略该参数。
eg:SELECT CONCAT ('password','001');
5.1.2、比较字符串大小
STRCMP(s1,s2),如果s1>s2,返回1。相等返回0,小于返回-1。
5.1.3、获取字符串长度
LENGTH() CHAR_LENGTH()
注意:LENGTH表示字符所占的字节长度,CHAR_LENGTH表示字符串的个数。
5.1.4、大小写转换函数
UPPER() UCASE() 将字符串转换成大写
LOWER() LCASE()将字符串转换成小写
5.1.5、截取字符串函数
LEFT(str,num)从左边截取num个字符,
RIGHT(str,num)从右变截取num个字符,
SUBSTRING(str,num,len)从地num个位置开始的len长度的字符串,MySQL下标是从1开始的。同MID(str,num,len)
【substring后不能有空格】
5.1.6、去除首尾空格
LTRIM(str) 去除左边空格
RTRIM(str) 去除右边空格
TRIM(str) 去除左右两边空格
5.1.7、替换字符串
INSERT(str,pos,len,newstr)
REPLACE(str,oldstr,newstr)
5.2、数值函数
5.2.1、获取随机数
RAND()、RAND(x),其中RAND()是完全随机函数,RAND(x)随机数是相同的
eg:select rand();
5.2.2、获取整数函数
CEIL(x) 返回大于或者等于x的最小整数。
FLOOR(x) 返回小于或者等于x的最大整数。
5.2.3、截取数值函数
TRUNCATE(x,y) 返回数值x的小数点后y位的值。如果y为负数,则表示小数点左边截取y位。
5.2.4、四舍五入函数
ROUND(x) 数值x经过四舍五入操作后的数值
ROUND(x,y)保留数值x小数点后y位的数值,四舍五入。同样如果y为负数,表示小数点左边。
5.3、日期时间函数
5.3.1、获取当前日期和时间的函数
NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),SYSDATE()
5.3.2、获取当前日期
CURDATE(),CURRENT_DATE()
这两个函数只会返回日期部分数据
5.3.3、获取当前时间
CURTIME(),CURRENT_TIME()
这两个函数只会返回时间部分数据
5.3.4、不同方式显示日期和时间
UNIX_TIMESTAMP() 以UNIX格式显示当前时间
YEAR(), 获取年
QUARTER(), 季度
MONTH(),月 MONTHNAME() 显示月份的名字
WEEK(),星期
DAYOFMONTH(),该月第几天,DAYOFYEAR(),该年的第几天
HOUR(),小时
MINUTE(),分
SECOND()秒
上述函数还有一个通用的表达方式 EXTRACT(type FROM date)
例如:
SELECT EXTRACT(YEAR FROM NOW()),EXTRACT(QUARTER FROM NOW()),
EXTRACT(MONTH FROM NOW()),EXTRACT(WEEK FROM NOW()),
EXTRACT(HOUR FROM NOW()),EXTRACT(MINUTE FROM NOW()),
EXTRACT(SECOND FROM NOW())
5.3.5、与指定的日期时间操作
ADDDATE(),SUBDATE(),增加减少日期
ADDTIME(),SUBTIME(),增加减少时间
5.4、系统信息函数
VERSION(),获取数据库的版本信息
DATABASE(),获取数据库名
USER(),获取用户名
LAST_INSERT_ID()获取最后一条自动插入的ID
PASSWORD() 给字符串加密