运算符
算数运算符:
+,-,*,/,%
+,-,*,/,%
比较运算符:
=,<=>(安全等于),<>(!=),<=,>=,<,>
=,<=>(安全等于),<>(!=),<=,>=,<,>
is null,is not null,least(最小),greatest(最大),betweenand,isnull(与is null一样)
in(判断一个值是否在in列中),not in(不是in中值)
like(通配符匹配),regexp(正则表达式)
逻辑运算符:
not(!),and(&&),or(||),XOR(异或)
not(!),and(&&),or(||),XOR(异或)
位运算符:
|,&,^(位异或),<<,>>,~(~可以用bin()函数查看取反后的结果)
|,&,^(位异或),<<,>>,~(~可以用bin()函数查看取反后的结果)
函数
数学函数:
ABS(x)
绝对值
PI()
π
SQRT(X)
平方根
MOD(x,y)
取余
CEIL(x)/CEILING(x)
FLOOR(x)
最大整数
RAND()
0~1间随机数,里面x相同,产生的随机数就相同
ROUND(x)
四舍五入
ROUND(x,y)
x保留y位四舍五入
TRUNCATE(x,y)
舍弃x后面y位的数
SIGN(x)
x的符号,返回-1,0,1
POW(x,y)/POWER(x,y)
x的y次方
EXP(x)
e的x次幂
字符串函数:
CHAR_LENGTH(str)
字符个数,英文1,汉字1
LENGTH()
字符长度,英文1,汉字3
CONCAT(s1,s2)
合并字符串
CONCAT_WS(分隔符,s1,s2)
用分隔符合并字符串
INSERT(字符串,第几个字符,替换长度,替换字符串)
替换字符串
LOWER(str)/LCASE(str)
转换成小写
UPPER(str)/UCASE(str)
转换成大写
LEFT/RIGHT(字符串,n)
截取字符串最左/最右边的n个字符
LPAD/RPAD(s1,len,s2)
填充字符串,s1为原字符串,len为最后长度,其他空位由s2填充,LPAD左填,RPAD右填
LTRIM(str)
删除左空格
RTRIM(str)
删除右空格
TRIM(str)
删左右空格
TRIM(s1 from s)
删除s两端所有的s1
REPEAT(s,n)
重复生成s字符串n次
SPACE(n)
生成n个空格
REVERSE(s)
逆序
REPLACE(s,s1,s2)
把s中所有s1用s2替换
STRCMP(s1,s2)
比较字符串大小,s1小→-1,s2小→1,相等→0
SUBSTRING(s,n,len)/MID(s,n,len)
截取字符串,从s的第n个位置开始截,截len长度,n是正数就从头截,n是负数就从尾截
LOCATE(str1,str)/POSITION(str1 in str)/instr(str,str1)
str1在str位置
ELT(n,s1,s2,s3...)
返回sn字符串
FIELD(s,s1,s2,s3...)
与上相反,返回s是第几个位置(返回n)
日期和时间函数:
CURDATE()/CURRENT_DATE()
当前时间YYYY-MM-DD(加0变数值型)
CURTIME()/CURRENT_TIME()
当前时间HH:MM:SS
CURRENT_TIMESTAMP()/LOCALTIME()/NOW()/SYSDATE()
当前系统时间
UNIX_TIMESTAMP(date)/FROM_UNIXTIME(date)
时间戳和当前时间互换,时间戳为1970-01-01 08:00:00后的秒数
UTC_DATE()/UTC_TIME()
世界标准时间/日期
MONTH(date)/MONTHNAME(date)
月份/月份英文名
DAYNAME(d)
星期几的英文名
DAYOFWEEK(d)
返回索引:1→星期日,2→星期一,3→星期二...
WEEKDAY(d)
返回索引:0→星期一,1→星期二,2→星期三...
WEEKOFYEAR(d)
这年的第几周
DAYOFYEAR(d)
这年的第几天DAYOFMONTH(d)
这月的第几天
YEAR(d)
年
QUARTER(d)
季度
MINUTE(d)
分钟
SECOND(d)
秒
TIME_TO_SEC(time)
SEC_TO_TIME()
时间和秒转换
ADDTIME(date,expr)/SUBTIME(date,expr)
将expr加/减到date
DATEDIFF(date1,date2)
两个日期间隔天数,date1-date2
DATE_FORMAT(date,format)
把日期date按formate给的格式输出,具体格式查表
TIME_FORMAT(time,format)
时间格式输出(格式查表)
GET_FORMAT(日期类型,返回格式)
返回日期类型的格式,格式查表,如IOS,USA
条件判断函数:
IF(expr,v1,v2)
expr为真返回v1,假返回v2
IFNULL(v1,v2)
如果v1不为null返回v1,否则返回v2
CASE expr WHEN v1 THEN r1 WHEN v2 THEN r2 ... ELSE rx END
表达式expr等于when后面的v几,就返回r几,都没有返回else,如果没有表达式expr,when后面哪个是第一个为true就返回谁,没有为true的返回else
系统信息函数:
VERSION()
版本号
CONNECTION_ID()
服务器当前连接次数
DATEBASE()/SCHEMA()
当前数据库名
USER()
用户名和主机
LAST_INSERT_ID()
返回最后自动生成的id,如果最后是多条一起插入,显示这多条最上面的id
加密函数略
其他函数略