Mysql函数

MySQL函数

数字函数

  • CEIL(x)/CEILING(x) 向上取整
select ceil(sal/12) from emp;
  • FLOOR(x) 向下取整
select floor(sal/12) from emp;
  • POW(x,y)/POWER(x,y) 返回 x 的 y 次方
select power(age,2) from test;
  • RAND() 返回 0 到 1 的随机数
select age,RAND() from test;
  • ROUND(x) 返回离 x 最近的整数
-- round(x,d) 限制x的小数点长度为d
select round(rand(),2);

字符串函数

  • LENGTH/CHAR_LENGTH(s)/CHARACTER_LENGTH(s)返回字符串 s 的字符数
select length(ename) from emp;
  • CONCAT(s1,s2…sn)字符串 s1,s2 等多个字符串合并为一个字符串
-- concat 拼接时如果有值为空 则结果为空
select concat(age,'-',`name`,"-") from first_table;
  • CONCAT_WS(separator, str1, str2, …)指定分隔符的拼接
-- concat_ws CONCAT_WS(separator,str1,str2,...)
-- concat_ws 拼接时出现null 则过滤掉
select concat_ws(',',age,name) from first_table;
  • SUBSTR/SUBSTRING(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串
select *,substr(clazz,3,1) from students;
  • STRCMP(s1,s2)比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1
select *,strcmp(clazz,'理科六班\r') from students where clazz like '理科六%';

日期函数

  • CURDATE()/CURRENT_DATE()返回当前日期
  • CURRENT_TIME()/CURTIME()返回当前时间
  • CURRENT_TIMESTAMP()返回当前日期和时间
  • DATEDIFF(d1,d2)计算日期 d1->d2 之间相隔的天数
  • TIMEDIFF(time1, time2)计算时间差值
  • UNIX_TIMESTAMP()得到时间戳
  • FROM_UNIXTIME()时间戳转日期
  • DATE_ADD(d,INTERVAL expr type)从日期增加指定的时间间隔。
  • DATE_SUB(date,INTERVAL expr type)函数从日期减去指定的时间间隔。
  • DATE_FORMAT(d,f)表达式 f的要求显示日期 d
  • STR_TO_DATE(string, format_mask)将字符串转变为日期

高级函数

  • IF(expr,v1,v2)如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2
-- if函数 if(condition,true,false)
select *,
if(age>=23
	,if(age=23
		,'二师兄'
		,'大师兄')
	,if(age=22
		,'三师弟'
		,'小师弟')
	) as zhic 
from students;

select 
	*
	,if(age>0
		,if(age>18
			,if(age>35
				,if(age>60
					,if(age>200
						,'成仙'
						,'老登')
					,"壮年")
				,"青年")
			,"未成年")
		,'错误') 
from students;
  • IFNULL(v1,v2) 如果 v1 的值不为 NULL,则返回 v1,否则返回 v2。
select *,ifnull(age,18) from first_table;
  • **CASE (WHEN THEN) + ELSE END **
select *,case 
					when age=21 then '小师弟'
					when age=22 then '三师弟'
					when age=23 then '二师兄'
					when age=24 then '大师兄'
				else "妖怪"
				end as rank
from students;
  • CAST(x AS type)转换数据类型
select *,concat(cast(age as char),'hh') from students;

相关推荐

  1. MySQL函数

    2024-04-03 10:38:03       44 阅读
  2. MYSQL函数

    2024-04-03 10:38:03       27 阅读
  3. Mysql函数

    2024-04-03 10:38:03       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-03 10:38:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-03 10:38:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-03 10:38:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-03 10:38:03       20 阅读

热门阅读

  1. Android Studio 通过 WIFI 调试手机 app

    2024-04-03 10:38:03       17 阅读
  2. leetcode2810--故障键盘

    2024-04-03 10:38:03       19 阅读
  3. CSS基础语法-黑马跟课笔记-供记录与查询

    2024-04-03 10:38:03       14 阅读
  4. PyTorch学习之:深入理解神经网络

    2024-04-03 10:38:03       12 阅读
  5. 24年2月-3月工作笔记整理(前端)

    2024-04-03 10:38:03       13 阅读
  6. 华为机试打卡 HJ102 字符统计

    2024-04-03 10:38:03       15 阅读