运算符
算数运算符:
+,-,*,/,%
+,-,*,/,%
比较运算符:
=,<=>(安全等于),<>(!=),<=,>=,<,>
=,<=>(安全等于),<>(!=),<=,>=,<,>
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
加密函数略
其他函数略