mysql的函数操作

字符串函数
concat(S1,S2,…,SN)字符串连接,将多个字符串合并为一个字符串。遇null返回null。
lower(str)/lcase(str)函数将字符串的所有字母转变为小写字符
upper(str)/ucae(str)函数将字符串的所有字母转变为大写字符
left(str,n)函数返回字符串str的前n个字符
right(str,n)函数返回字符串str的后n个字符
space(n)函数返回n个空格
length(str)函数计算字符串的字节长度。
ltrim(STR)函数将去掉字符串开始处的空格。
rtrim(STR)函数将去掉字符串结尾处的空格
trim(STR)函数将去掉字符串开始处和结尾处的空格
repeat(s,n)函数将字符串s重复n次
replace(s,s1,s2)函数将字符串s2替代字符串s中的字符串s1
strcmp(S1,S2)函数用来比较字符串s1和s2.如果s1大于s2,结果返回1;如果s1等于s2,结果返回0;如果s1小于s2,结果返回-1
substring(s,n,len) /mid(s,n,len)函数从字符串s的第n个位置开始获取长度为len的字符串。
locate(s1,s)/position(s1 in s)/insert(s,s1)这三个函数从字符串s中获取s1的开始位置
reverse(s)函数将字符串的顺序反过来
数值函数
abs(X)用来求绝对值
ceil(X)/CEILING(X)返回大于或等于x的最小整数
floor(X)返回小于或等于x的最大整数
mod(X,Y)用来求余数
rand()/rand(X)这两个函数都是返回0~1的随机数。但是RAND()返回的随机数是完全随机的,而rand(x)函数的x值相同时,返回的值是相同的。
PI()用来返回圆周率
sqrt(x)用来求平方根
round(X)返回离x最近的整数,也就是对x进行四舍五入处理。
round(X,Y)返回x保留到小数点y位的值,截断时需要进行四舍五入处理
truncate(X,Y)截断,截取;返回x保留到小数点后y位的值
sign(x)函数返回x的符号,若x是负数,正数,0返回-1,1,0
pow(x,y)/power(x,y)这两个函数计算x的y次方,即xy
exp(x)函数计算e的x次方,即ex
log(x)函数计算x的自然对数
log10(x)函数计算以10为底的对数。其中EXP(x)和LOG(x)这两个函数互为反函数。
日期函数
curdate()/current_date()函数获取当前的日期
curtime()/current_time()函数获取当前时间
now()/current_timestimp()/localtime()/sysdate()这四个函数表示相同的含义,都用来获取当前的日期和时间。
week(d)/weekofyear(d)函数都是计算日期d是本年的第几个星期。返回值的范围是1~53
dayofyear(d)函数返回日期d是本年的第几天
dayofmonth(d)函数返回日期d是本月的第几天
year(d)函数返回日期d中的年份值
month(d)函数返回日期d中的月份值,其取值范围是1~12
quarter(d)函数返回日期d是本年的第几季度,值的范围是1~4
hour(t)函数返回时间t中的小时值
minute(t)函数返回时间t中的分钟值
second(t)函数返回时间t中的秒钟值
monthname(d)函数返回日期d中月份的英文名称,如January,February等。
dayname(d)函数返回日期d是星期几,显示其英文民个,如Monday,Tuesday等。
dayofweek(d)函数返回日期d是星期几,1表示星期日,2表示星期一,依次类推。
weekday(d)函数返回日期d是星期几,0表示星期一,1表示星期二,依次类推。
extract(type from d)函数从日期d中获取指定的值。这个值是什么由type的值来决定。Type的值可以是YEAR,MONTH,DAY,HOUR,MINUTE,SECOND
to_days(d)给定一个日期,返回一个从0年开始的天数
from_days(n)给定一个天数,返回一个日期
adddate(date,interval expr type)在date日期的基础上增加或减少指定的时间间隔
subdate(date,interval expr type)在date日期的基础上增加或减少指定的时间间隔
addtime(t,seconds)在time时间的基础上增加指定的秒数
subtime(t,seconds)在time时间的基础上增加指定的秒数
datediff(d1,d2)返回d1-d2的天数
date_add(date,interval expr type)在date日期的基础上增加或减少指定的时间间隔
date_format(d,f)根据format字符串,格式化date值
time_format(t,f)根据format字符串,格式化time值
条件判断函数
If(expr,v1,v2)如果表达式expr为true,返回结果v1,否则返回v2
Ifnull(v1,v2)如果v1为空,返回v2,否则返回v1
Case when expr1 then v1 else vn end搜索case函数
Case expr when e1 then v1 else vn end枚举case函数
练习—列转行统计数据

按照日期,分别统计小说和微信的总数。结果如下图:

image-20211026224816232

SELECT Date ,
MAX(CASE NAME WHEN '小说' THEN Scount ELSE 0 END ) 小说,
MAX(CASE NAME WHEN '微信' THEN Scount ELSE 0 END ) 微信 
FROM TabName  
GROUP BY Date 
练习—行转列统计数据

执行以下语句:Select Date, group_concat(NAME,‘总量:’,Scount) as b_str from TabName group by Date

image-20211026225411390

系统信息函数
database()返回当前的数据库名
version()函数返回数据库的版本号
user()返回当前的用户名
session_user()返回当前的用户名
system_user()返回当前的用户名
connection_id()函数返回服务器的连接数,也就是到现在为止MySQL服务的连接次数。
schema()返回当前的数据库名称
charset(str)函数返回字符串的字符集,一般情况下,这个字符集就是系统的默认字符集。
collation(str)函数返回字符串中的字符排列方式
last_insert_id()函数返回最后生成的AUTO_INCREMENT的值
其他函数
ascll(s)返回字符串s的第一个字符的ASCII码
char(digit)返回ASCII对应的字符
convert(s USING cs)函数将字符串s的字符集变成cs,例如: Mysql>select charset(‘ABC’),charset(convert(‘ABC’ using gbk));
cast(x AS type)/convert(x,type)这两个函数将x变成type类型。这两个函数只对BINARY,CHAR,DATE,DATETIME,TIME,SIGNED INTEGER,UNSIGNED INTEGER这些类型起作用
get_lock(name,time)函数定义一个名称为name,持续时间长度为time秒的锁.如果锁定成功返回1;如果尝试超时,返回0;如果遇到错误,返回NULL
release_lock(name)函数解除名称为name的锁.如果解锁成功,返回1;如果尝试超时,返回0;如果解锁失败,返回NULL
is_free_lock(name)函数判断是否使用名为name的锁.如果使用,返回0,否则返回 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜空孤狼啸

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值