四、MySQL中的常用函数(MySQL读书笔记)

1、字符串函数

2、数值函数

ABS()
CEIL() 
FLOOR() 
MOD() 
RAND() -(0~1的随机数) 
ROUND(x,y) - 返回 x 的四舍五入的有 y 位小数的值【y 默认为0;小数不够则 0 填充】 
TRUNCATE(x,y) - 截断(不会进行四舍五入)

3、日期和时间函数

-- CURDATE() 
-- CURTIME() 
-- NOW() 
-- UNIX_TIMESTAMP(date) - 返回日期 date 的 UNIX 时间戳 
-- FROM_UNIXTIME(unixtime) - 返回 UNIXTIME 时间戳的日期值
-- WEEK(DATE) || YEAR(DATE) - 一年中的第几周 | 哪一年
-- HOUR(time) || MINUTE(time)
-- MONTHNAME(date) - 返回 date 的英文月份名称
-- DATE_FORMAT(date,fmt) - 日期格式化(fmt 格式化需要遵循 MySQL 规范)
-- DATE_ADD(date,INTERVAL expr type) - 返回与说给日期 date 相差 INTERVAL 时间段的日期(INTERVAL 是间隔类型关键字,expr 是一个表达式,type 是间隔类型【需要遵守 MySQL 提供的间隔类型】)
select now() current,date_add(now(),INTERVAL -31 day) after31days,date_add(now(),INTERVAL '-1_-2' year_month) after_oneyear_twomonth;
-- DATEDIFF(date1,date2) - 返回两个日期之间相差的天数

4、流程函数

-- IF(value,t,f) - value 为真,返回 t,否则返回 f
-- IFNULL(value1,value2) - value1 不为 null 则返回 value1,否则返回 value2
-- CASE WHEN [value1] THEN [result1]... ELSE [default] END
select userid,case when salary<=2000 then 'low' else 'high' end from salary;
-- CASE [expr] WHEN [value1] THEN [result1]... ELSE [default] END
select userid,case salary when 1000 then 'low' when 2000 then 'mid' else 'high' end from salary;

5、其他函数

-- DATABASE() - 当前数据库名
-- VERSION() - 数据库版本
-- USER() - 当前登录用户
-- INET_ATON(IP) - 返回 IP 地址的网络字节序表示;可以将存储的 IP 地址转换为数字进行比较(可避免直接将 IP 地址作为字符串比较失败的情况)
select inet_aton('127.0.0.1');
-- INET_NTOA(num) - 返回网络字节序数字代表的 IP 地址
select inet_ntoa(2130706433);
-- PASSWORD(str) - 字符串 str 的加密版本(41位长的字符) - 加密算法???
-- MD5(str) - 字符串 str 的 MD5 值

 

你可能感兴趣的:(MySQL,MySQL)