SQL常用函数

函数:单独的功能,不牵扯到面向对象;
方法:一般面向对象,通过对象调用类中的方法

字符串函数

1、CONCAT(S1,S2…SN)

select CONCAT('A','B','C') AS RESULT

CONCAT('A','B','C')
注:任何字符串与null连接,结果都是null

但是在dm中测试,结果如下:

select CONCAT('A','B',null) AS RESULT

在这里插入图片描述

2、insert(str,x,y,instr)

select insert('abcd1234',5,2,'**')

INSERT(str,x,y,instr)
3、字符串大小写转换:lower(str) upper(str)

select lower('ABcd')

lower(str)

select upper('ABcd')

upper(str)
4、left(str,x) right(str,x)

select left('ABcd',2)

left(str,x)

select right('ABcd',3)

right(str,x)
如果长度超出了字符串长度,例如:

select right('ABcd',8)

结果如下图所示:
在这里插入图片描述
注:如果第二个参数为null,则返回null

select right('ABcd',null)

在这里插入图片描述
5、lpad(str,n,pad) rpad(str,n,pad)

select lpad('ABcde',8,'*')

在这里插入图片描述

select rpad('AB',5,'cdefgh')

rpad

如果小于长度:

select rpad('ABcde',4,'*')

在这里插入图片描述
6、去除空格ltrim(str) rtrim(str)

select ltrim('  abcd  2')

ltrim

select rtrim('  abcd ')

rtrim
trim可以同时去除左右的空格

select trim('  ab  cd  ')

trim
7、repeat(str,n)

select repeat('ab',3)

repeat
8、replace

select replace('ab','a','A')

replace
9、substring

select substring('abcdef',3,2)

在这里插入图片描述

数值函数

abs(x)
ceil(x)

select ceil(2.1)

ceil
floor(x)
mod(x,y)
rand()返回0-1之间的随机数

select rand()

rand
如果想返回0-10之间的随机数,使用如下语句:

select floor(rand()*10)

在这里插入图片描述

日期和时间函数

返回当前日期curdate()—年月日

select curdate()

在这里插入图片描述
返回当前时间curtime()—时分秒

select curtime()

在这里插入图片描述

返回当前日期和时间 now()

select now()

在这里插入图片描述

返回当前时间戳 unix_timestamp

dm中是CURRENT_TIMESTAMP()

select CURRENT_TIMESTAMP()

在这里插入图片描述
将时间戳转为日期 from_unixtime(unixtime)
返回所给时间是一年中的第几周 week(date)
返回所给时间是哪一年 year(date)
返回当前时间的小时 hour(time)
返回当前时间的分钟 minute(time)
按字符串格式化日期date值 date_formate(date,fmt)
date_add(date,interval,exper type)

select DATE_ADD(NOW(),INTERVAL 3 YEAR)

两个日期之间的相差天数datediff(date1,date2)

流程函数

if(value,t,f)

select if((2>3),'false','true')

ifnull(value1,value2)

case when then end

select case when 2>3 then 'false' else 'false' end

其他常用函数

返回当前数据库database()
返回当前数据库版本version()
返回当前登录用户user()
对str进行加密password(str)
返回str的ND5值MD5(str)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值