MySQL-函数

  • 字符串函数

    • 函数列表
    函数功能
    CONCAT(S1,S2,…Sn)字符串拼接,将S1,S2,…,Sn拼接成一个字符串
    LOWER(str)将字符串str全部转为小写
    UPPER(str)将字符串str全部转为大写
    LPAD(str,n,pad)左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
    RPAD(str,n,pad)右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
    TRIM(str)去掉字符串头部和尾部的空格
    SUBSTRING(str,start,len)返回从字符串str从start位置起的len个长度的字符串
    • 演示
    SELECT CONCAT('HELLO',' MySQL');	#输出为:HELLO MYSQL
    SELECT LOWER('HELLO');	#输出为:hello
    SELECT UPPER('hello');	#输出为:HELLO
    SELECT LPAD('1', 5,'0');	#输出为:00001
    SELECT RPAD('1', 5,'0');	#输出为:10000
    SELECT TRIM(' HELLO MySQL ');	#输出为:HELLO MySQL
    SELECT SUBSTRING('HELLO MySQL',1,5);	#输出为:HELLO
    
  • 数值函数

    • 函数列表
    函数功能
    CEIL(x)向上取整
    FLOOR(x)向下取整
    MOD(x,y)返回x/y的模
    RAND()返回0~1内的随机数
    ROUND(x,y)求参数x的四舍五入的值,保留y位小数
    • 演示
    SELECT CEIL(1.5);	#输出为:2
    SELECT FLOOR(1.5);	#输出为:1
    SELECT MOD(4,3);	#输出为:1
    SELECT RAND();	#输出为:0~1之间的随机值
    SELECT ROUND(3.1415,3);	#输出为:3.142
    
  • 日期函数

    • 函数列表
    函数功能
    CURDATE()返回当前日期
    CURTIME()返回当前时间
    NOW()返回当前日期和时间
    YEAR(date)获取指定date的年份
    MONTH(date)获取指定date的月份
    DAY(date)获取指定date的日期
    DATE_ADD(date,INTERVAL expr type)返回一个日期/时间值加上一个时间间隔expr后的时间值
    DATEDIFF(date1,date2)返回起始时间date1和结束时间date2之间的天数
    • 演示
    SELECT CURDATE();	#输出为:2022-03-16
    SELECT CURTIME();	#输出为:20:27:27
    SELECT NOW();	#输出为:2022-03-16 20:34:02
    SELECT YEAR(CURDATE());	#输出为:2022
    SELECT MONTH(CURDATE());	#输出为:3
    SELECT DAY(CURDATE());	#输出为:16
    SELECT DATE_ADD('2022-03-16',INTERVAL 30 DAY);	#输出为:2022-04-15
    SELECT DATEDIFF('2022-03-16','2022-04-15');	#输出为:-30
    
  • 流程函数

    • 函数列表
    函数功能
    IF(value,t,f)如果value为true,则返回t,否则返回f
    IFNULL(value1,value2)如果value1不为空,返回value1,否则返回value2
    CASE WHEN [val1] THEN [res1] …ELSE [default] END如果val1为true,返回res1,…否则返回default默认值
    CASE [expr] WHEN [val1] THEN [res1] …ELSE [default] END如果expr的值等于val1,返回res1,…否则返回default默认值
    • 演示
    SELECT IF(TRUE,'YES','NO');		#输出为:YES
    SELECT IF(FALSE,'YES','NO');	#输出为:NO
    SELECT IFNULL('YES','NO');	#输出为:YES
    SELECT IFNULL('','NO');	#输出为:(空字符串)
    SELECT IFNULL(NULL,'NO');	#输出为:NO
    
    /*	假设有emp表如下:
    	+------+---------+
    	| name | 工作地址 |
    	| 张三 |   北京   |
    	| 李四 |   贵阳   |
    	| 王五 |   上海   |
    	+------+---------+
    */
    SELECT
    	name,
    	(CASE 工作地址 WHEN '北京' THEN '一线城市' WHEN '上海' THEN '一线城市' ELSE '二线城市' END)
    FROM emp;
    /*	输出为:
    	+------+---------+
    	| name | 工作地址 |
    	| 张三 | 一线城市 |
    	| 李四 | 二线城市 |
    	| 王五 | 一线城市 |
    	+------+---------+
    */
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值