mysql常用函数

字符串函数

concat(str1,str2...) 任何字符串与null链接都是null
insert(str,start,end,'99') 类似js的splice方法 (select INSERT('abcdef',3,1,'999') =》ab999def)
LOWER(str)和UPPER(str)
LEFT(str,x)和RIGHT(str,x) 分别返回字符串左边的x个字符和最右边的x个字符(如果第二个参数为null,那么不返回任何字符)
LAPD(str,n,pad)和RPAD(str,n,pad) 用字符串pad对str最左边或最右边进行填充,直接到长度为n个字符串长度
LTRIM(str)和RTRIM(str)去左空格 、去右空格
trim(str) 去掉字符串左右的空格
repeat(str,x) 返回str重复x次的结果
replace('ABCDEF','C','') =》ABCDEF
substr('abcdf',3,2) =>'df' 截取值

select *,concat(province,city,area) as address from user;
select *,insert(idCard,14,18,'****') as address from user;

UPDATE user set name=concat(name,'连接') WHERE id=4
UPDATE user set name=replace(name,'连接','') WHERE id=4

数值函数

ABS(x) 返回x的绝对值
ceil(x) 向上取整
floor(x) 向下取整
MOD(x,y) 返回x/y的模 (余数)
RAND() 返回0-1的随机值

日期和时间函数

CURDATE() 返回当前日期,'2019-05-24'
CURTIME() 返回当前时间,15:37:36
NOW() 返回当前日期和时间,2019-05-24 15:36:58
UNIX_TIMESTAMP() 返回当前时间的时间戳 1558683519
FROM_UNIXTIME(1558683519) 将时间戳转换成日期 2019-05-24 15:36:58
WEEK(date) 返回当前是一年的第几周
YEAR(date) 放回所给日期是哪一年
HOUR(time) 放回所给日期的小时
MINUTE(time) 放回所给日期的分钟
DATE_FORMAT(now(),'M,D,Y') 格式化时间
DATEDIFF(date1,date2) 计算两个日期相差的天数
DATE_ADD (时间,INTERVAT 值 单位) :增加时间 ,减的时候直传负值就行

SELECT DATE_FORMAT(now(),'%Y-%m-%d')  //2019-05-24
select DATE_FORMAT(now(),'%M,%D,%Y') //January,31st,2019
select DATE_FORMAT(now(),'%Y-%M-%D')//2019-January-31st

select DATA_ADD(now(),INTERVAT 3  day)
UPDATE user set createdate=DATE_ADD(createdate,INTERVAT 3 day)  WHERE id=4
UPDATE user set created_id=DATE_ADD(now(),INTERVAL 10 day) where id=1 
date_format( ) 转换格式 :
格式  描述
%a  缩写星期名
%b  缩写月名
%c  月,数值
%D  带有英文前缀的月中的天
%d  月的天,数值(00-31)
%e  月的天,数值(0-31)
%f  微秒
%H  小时 (00-23)
%h  小时 (01-12)
%I  小时 (01-12)
%i  分钟,数值(00-59)
%j  年的天 (001-366)
%k  小时 (0-23)
%l  小时 (1-12)
%M  月名
%m  月,数值(00-12)
%p  AM 或 PM
%r  时间,12-小时(hh:mm:ss AM 或 PM)
%S  秒(00-59)
%s  秒(00-59)
%T  时间, 24-小时 (hh:mm:ss)
%U  周 (00-53) 星期日是一周的第一天
%u  周 (00-53) 星期一是一周的第一天
%V  周 (01-53) 星期日是一周的第一天,与 %X 使用
%v  周 (01-53) 星期一是一周的第一天,与 %x 使用
%W  星期名
%w  周的天 (0=星期日, 6=星期六)
%X  年,其中的星期日是周的第一天,4 位,与 %V 使用
%x  年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y  年,4 位
%y  年,2 位

select now();-- 当前日期。 
select date_format(now(),'%Y-%m-%d');-- date_format() 转换当前的日期格式

流程函数

if(value,r,f) 如果value(可以是表达式)是真,返回t,否则返回f
IFNULL(value1,value2) 如果value1不为空,返回value1否则返回value2
CASE WHERE THEN END

select case when 2>3 then '对' else '错' end;

其他常用函数

DATEBASE()返回数据库名
VERSION()返回当前数据库版本
USER()
PASSWORD(str)
MD5(str)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.Concat(s1,s2...sn)函数:把传入的参数链接为一个字符串2.Insert(str,x,y,ins...
    HowieW阅读 364评论 0赞 1
  • 一、数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) ...
    ernest128阅读 352评论 0赞 0
  • 原文:https://blog.csdn.net/sugang_ximi/article/details/6664...
    凯睿看世界阅读 353评论 0赞 0
  • 晚雨急,米酒醇,人薄醉。河风料峭,唤醒贪杯人。再看窗外风雨处,皎月破云潜入水。夏虫欢鸣,滟波轻舞。华灯虽上,闲云不...
    Irenexx阅读 385评论 0赞 6
  • 吉尔吉斯,哈萨克,乌兹别克,塔吉克,土库曼,中,蒙,朝,韩,日。菲,越,柬,老,马來,缅,泰,尼泊尔,不旦,锡金。...
    太行飘雪阅读 463评论 0赞 0

友情链接更多精彩内容