使用mysql常用函数

一字符串函数

函数功能
concat(str1,str2,str3)/concat_ws(sep,str1,str2)合并字符串/用分隔符合并字   符串                       
insert(str,x,y,instri)将字符串str从x位开始,y个字符长的字串替换为字符串instr
lower(str)/upper(str)将字符串变小写/大写
left(str,x)/right(str,x)/返回左/右边x个字符
lpad(str,n,pad)/rpad(str,n,pad)使用字符串pad对str最左/右边进行填充,直到长度为n
ltrim(str)/rtrim(str)/strim(str)去掉左/右/左右边的空格
repeat(str,x)返回字符串str重复出现x的结果
replace(str,a,b)b替换str中所以的a
strcmp(str1,str2)比较,
substring(str,x,y)返回字符串str中从x位置其y个字符长度的字符串
locate/position(str1,in,str2)/instr获取匹配字符串的位置
make_set(num,str1,str2..)将num转换成二进制,按照二进制从参数中选取相应的字符串
mid/substring(str,num,len) 
elt(n,str1,str2)返回指定位置的字符串
field(str,str1,str2)返回第一个与字符串获相匹配字符串的位置
select  concat('my','s','ql',null),          null
        concat_ws(null,'my','s','ql'),        null
        concat_ws('-,'my','sql'),             my-sql
        strcmp('abc','abk'),                  -1(大于返回1,小于返回-1,等于返回2)
        length('mysql'),                    5
        length('你好啊'),                     6  汉字占两个字节
        ucase('mysql),                     MYSQL
        lcase('JKi'),                 jki
        find_in_set('mysql','oracle,sql,mysql'),    3
        field('mysql','oracle','sql','mysql'),      3
        locate('sql','mysql'),                      3
        position('sql' in 'mysql'),                 3
        instr('sql','mysql'),                       3
        elt(2,'sql','mysql'),                  mysql返回指定位置的字符串
        make_set(5,'sql','mysql','oracle','SQL'),  sql,oracle 将数字换成二进制,选取相应字符串
        substring('oraclemysql',7,5),    mysql
        mid('oraclemysql',7,5),    mysql
        char_length(concat('-',ltrim(' mysql '),'-')),   8
        insert('helloitsme',6,3,'not'),   hellonotme
        

二数值函数

函数功能
abs(x)绝对值
ceil(x)大于x的最大整数
floor(x)小于x的最大整数
mod(x)

x模y的值

rand(x)0-1随机数
round(x,y)x四舍五入有y位小数的数值
truncate(x,y)返回x截断有y位小数的数值
select rand(3),   可获取相同的随机数
       ceil(4.3),       5
    floor(-2.5),    -3
    truncate(89.0970,2),      89.09
    truncate(89.0970,-1),      89
    round(803.0970,-1),      800
    round(-803.5970),      -804

三使用日期和时间函数

函数功能
curdate()/curtime()获取当前日期/获取当前时间
now()/current_timestamp()/localtime()/sysdate()获取当前的日期和时间
unix_timestamp(date)获取日期date的Unix时间戳
from_unixtime()获取Unix时间戳的日期

week(date)/year(date)/hour(time)

minute(time)/monthname(date)

返回date一年中的第几周/日期date/月份
datediff()两个日期间隔天数
adddate(date,n)/subdate(date,n)date加上/减去n天的日期
adddate(d,interval   expr   type) 
select unix_timestamp(now()),     5678990 1970/1/1
       from_unixtime(unix_timestamp(now())),        2019-07-04 22:26:59
       utc_time(),           14:26:59        8个时区
       dayname(now()),       friday
       weekofyear(now()),        18
       extract(year from now()),        2019
       to_days(now()),         56789           0000年1月1日
        from_days(to_days(now())),       2019-07-04
        datediff(now(),'2017-09-07'),      654
        adddate(curdate(),5),   
        subdate(curdate(),interval '2,3' year_month); 
        

四使用系统函数

函数作用
version()返回数据库的版本号
database()当前数据库名
user()当前用户
last_insert_id()最近生成auto_increment值

五流程函数

函数作用
If(value,  t     f)value为真返回t,否则返回f
ifnull(value1,value2)value1不为空返回value1,否则返回value2

case when  [value1]  then  [result1]  else [default]

end

如果value1为真,返回result1,否则返回default

case [expr]  when  [value1]  then  [result1]  else [default]

end

如果expr等于value1,返回result1,否则返回default

六实现特殊功能的函数

 

函数作用
password(str)str加密
format(x,n)x进行格式化,保留n位小数
inet_aton(ip)ip转换成数字
inet_ntoa(x)数字转换成ip
get_loct(name,time)创建一个持续时间为time的名为name的锁
release_loct(name)为名为name的锁进行解锁
benchmark(count,expr)将表达式重复执行count次
convert(s using cs)s的字符集变成cs
convert(x,type)x变成type类型

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值