MySQL详解 --- 内置函数

文章目录

    • 1. 日期函数
    • 2. 字符串函数
    • 3. 数学函数
    • 4. 加密函数
    • 5. 流程控制函数
    • 6. 其他函数

1. 日期函数

  • current_date(): 当前日期 (2015-11-11)

  • current_time(): 当前时间 (23:13:14)

  • current_timestamp(): 当前时间戳 (2015-11-11 23:13:14)

  • date(datetime): 返回datetime参数的日期部分 (具体时分秒不会显示)

  • date_add(date, interval d_value_type): 在date中添加日期或时间。interval后的数值单位可以是year/day/minute/second

    select date_add(‘2015-11-11’, interval 10 day)
    结果是: 2015-11-21

  • date_sub(date, interval d_value_type): 在date中减去日期或时间。interval后的数值单位可以是year/day/minute/second

  • datediff(date1, date2): 计算两个日期的时间差,单位是天

  • now(): 当前日期时间 (2022-4-30 15:20:23)

2. 字符串函数

注意: 这些函数都不是真正的去修改数据库中的数据,而是在select语句中显示。

  • length(s): 计算字符串长度函数,返回字符串的字节长度

  • concat(s1,s2…,sn): 合并字符串函数,返回结果为连接参数产生的字符串,参数可以是一个或多个

  • lower(string) / lcase(string): 将字符串中的字母转换为小写

  • upper(string) / ucase(string): 将字符串中的字母转换为大写

  • left(string,x): 返回字符串string中最左边的x个字符

  • right(string,x): 返回字符串string中最右边的x个字符

  • replace(str,search_str,replace_str): 在str中用replace_str替换search_str,并返回替换后的新字符串

  • substring(str,pos[,length]): 从str的pos位置开始,取length个字符串

  • reverse(string): 返回颠倒字符串string的结果

  • strcmp(string1, string2): 逐字符比较两个字符串的大小

  • trim(string): 删除字符串左右两侧的空格

    ltrim(string): 去除左侧空格
    rtrim(string): 去除右侧空格

  • charset(string): 返回字符串字符集

3. 数学函数

  • abs(x): 绝对值函数
  • bin(decimal_number): 十进制转二进制
  • hex(decimal_number): 转换成十六进制
  • conv(number,from_base,to_base): 进制转换
  • ceiling(x): 返回大于x的最小整数值,向上取整
  • floor(x): 返回小于x的最大整数值,向下取整
  • format(number,decimal_places): 格式化, 保留小数位数
  • round(x,y): 返回参数x的四舍五入的有y位小数的值(四舍五入)
  • truncate(x,y): 返回数字x截短为y位小数的结果
  • pi(): 返回pi的值(圆周率)
  • rand(): 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值
  • mod(number,denominator): 取模(求余数)

4. 加密函数

  • md5() 计算字符串str的MD5校验和

    SELECT MD5('abc');
    -- 结果:900150983cd24fb0d6963f7d28e17f72
    
  • password(密码): MySQL数据库使用该函数对密码进行加密。(该函数可以显示加密的密码)

5. 流程控制函数

  • if(条件,val1,val2): 如果条件是真,返回val1; 否则返回val2

  • ifnull(val1,val2): 如果val1为null,返回val2; 否则返回val1的值

  • nullif(val1,val2): 如果val1=val2,则返回null; 否则返回val1

    SELECT NULLIF('abc','abc');     #返回null
    SELECT NULLIF('abc','abcd');    #返回abc
    
  • case[test] when[val1] then [result]…else [default] end :如果test和valN相等,发挥resultN,否则返回default。

6. 其他函数

  • user(): 查询当前用户
  • database(): 显示当前正在使用的数据库
  • ifnull(val1,val2): 如果val1为null,返回val2; 否则返回val1的值

你可能感兴趣的:(MySQL,mysql,数据库,database,sql)