您的位置:首页 > 数据库 > MySQL

MySQL中常用的函数总结(字符串函数、日期函数、数值函数)

2019-02-07 13:39 344 查看
版权声明:转载请附上文章地址 https://blog.csdn.net/weixin_38134491/article/details/86770441

MySQL提供了很多函数帮助编写快捷的SQL语句

函数可以用在select语句以及其子句(如,where、order by、having),也可以用在update、delete 语句及其子句中

 

字符串函数

  • concat(S1,S2,...Sn)          把S1,S2,...Sn连接成一个字符串
  • insert(str,x,y,instr)             将字符串str从第x位置开始,y个字符长的字符串 替换成instr
  • LOWER(str)                     将字符串str中所有字符变为小写
  • UPPER(str)                     将字符串str中所有字符变为大写
  • LEFT(str,x)                      返 回字符串str最右边的x个字符
  • RIGHT(str,x)                    返回字符串str最右边的x个字符
  • LPAD(str,n,pad)              用字符串pad对str最左边进行填充,直到长度为n个字符长度
  • RPAD(str,n,pad)              用字符串pad对str最右边进行填充,直到长度为n个字符长度
  • LTRIM(str)                       去掉字符串str左侧的空格
  • RTRIM(str)                      去掉字符串str行尾的空格
  • REPEAT(str,x)                 返回str重复x次的结果
  • REPLACE(str,a,b)          用字符串b替换字符串str中所有出现的字符串a
  • STRCMP(s1,s2)             比较字符串s1和s2
  • TRIM(str)                       去掉字符串行尾和行头的空格
  • SUBSTRING(str,x,y)      返回从字符串str x位置起y个字符长度的字符串
  • LENGTH(str)                  返回字符串长度

 

日期和时间函数

  • ABS(x)                 返回x的绝对值
  • CEIL(x)                返回大于x的最小整数值
  • FLOOR(x)            返回小于x的最大整数值
  • MOD(x,y)              返回x/y的模
  • RAND()                 返回0-1内的随机值
  • ROUND(x,y)         返回参数x的四舍五入的有y位小数的值
  • TRUNCATE(x,y)   返回数字x截断为y位小数的结果

 

数值函数

  •       CURDATE()        返回当前日期
  •       CURTIME()        返回当前时间
  •       NOW()            返回当前的日期和时间
  •       UNIX_TIMESTAMP(date)    返回日期date的UNIX时间戳
  •       FROM_UNIXTIME()        返回UNIX时间戳的日期值
  •       WEEK(date)        返回日期date为一年中的第几周
  •       YEAR(date)        返回日期date的年份
  •       HOUR(time)        返回time的小时值
  •       MINUTE(time)        返回time的分钟值
  •       MONTHNAME(date)        返回date的月份名
  •       DATE_FORMAT(date,fmt)    返回按字符串fmt格式化日期date值
  •       DATE_ADD(add,INTERVAL expr type) 返回一个日期或时间值加上一个时间间隔的时间值
  •       DATEDIFF(expr,expr2)    返回起始时间expr和结束时间expr2之间的天数

 

流程函数

  • if(value,t,f)        如果value是真,返回t,否则返回f

select   if( field1>1000,'高薪','低薪');

 

  • ifnull(value1,value2)    如果value1不是null 返回value1,否则返回value1

select  ifnull(name,'无名');

 

  • case when [value1] then [result1] ...else[default] end  如果value1是真那么返回result1,否则返回default

(和 if 语句比较像)

 

  • case [expr]  when [value1]  then[result1]...else[default] end   如果expr等于value1,返回result1,否则返回default

(和switch语句比较像)

 

其他常用的函数

  • DATABASE()        返回当前数据库名
  • VERSION()           返回当前数据库版本
  • USER()                 返回当前登录用户名
  • INET_ATON(IP)    返回IP地址的数字表示
  • INET_NTOA(num)    返回数字代表的IP地址
  • PASSWORD(str)    返回字符串str的加密版本(加密)
  • MD5()                    返回字符串str的MD5值(加密)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: