单行函数
一、概念规则
- 操作数据对象
- 结构参数返回一个结果
- 只对一行进行交换,且每行返回一个结果等
- 可以嵌套
- 参数可以是一个列或一个值
二、数值函数
-
基本函数
# 绝对值函数,返回1 SELECT ABS(-1) FROM DUAL;
-
角度与弧度互换函数
RADIANS(x):将角度转换为弧度
DEGREES(x):将弧度转换为角度
-
三角函数
参数均为弧度数,可用RADIANS(x) 将角度转换为弧度数
-
指数与对数
-
进制函数
三、字符串函数
-
注:MySQL中,字符串的我i之是从1开始的。
四、日期和时间函数
-
获取日期和时间
函数 用法 函数 用法 CURDATE() 返回当前日期,只包含年、月、日 UTC_DATE() 返回世界标准时:年月日(伦敦) CURTIME() 返回当前时间,只包含时、分、秒 UTC_TIME() 返回世界标准时:时分秒 NOW() 返回当前系统的日期和时间 -
日期与时间戳的转换
函数 用法 UNIX_TIMESTAMP() 以UNIX时间戳的显示返回当前时间 UNIX_TIMESTAMP(date) 将date以UNIX时间戳的形式返回 FROM_UNIX(timestamp) 将UNIX时间戳的时间转换为普通格式的时间 timestamp:时间戳
-
获取月份、星期、星期数、天数等函数
-
日期的操作函数
EXTRACT(type FROM date) 返回指定日期中特定的部分,type指定返回的值的类型 extract(提炼),上述函数中type的取值与含义
type取值 含义 type取值 含义 MICROSECOND 返回毫秒数 SECOND_MICROSECOND 返回秒和毫秒 SECOND 返回秒数 MINUTE_MICROSECOND 返回分钟和毫秒 MINUTE 返回分钟数 MINUTE_SECOND 返回分钟和秒 HOUR 返回小时数 HOUR_MICROSECOND 返回小时和毫秒 DAY 返回天数 HOUR_SECOND 返回小时和秒 WEEK 返回第几个星期 HOUR_MINUTE 返回小时和分钟 MONTH 返回第几个月 DAY_MICROSECOND 返回天和毫秒 QUARTER 返回哪个季节 DAY_SECOND 返回天和秒 YEAR 返回日期的年份 DAY_MINUTE 返回天和分钟 YEAR_MONTH 返回年和月 DAY_HOUR 返回天和小时 -
时间和秒钟的转换函数
函数 用法 TIME_TO_SEC(time) 将time转换为秒并返回结果 SEC_TO TIME(seconds) 将seconds转换为含时分秒的时间 -
计算日期和时间的函数之一
函数 用法 DATE_ADD(datetime, INTERVAR type) 返回与给定日期时间相差INTERVAL时间段的日期时间 DATE_SUB(datetime, INTERVAR type) 返回与给定日期时间相差INTERVAL时间段的日期时间 type的取值列表
间隔类型 含义 间隔类型 含义 HOUR 小时 YEAR_MONTH 年和月(没有年和日) MINUTE 分钟 DAY_HOUR 日和小时 SECOND 秒 DAY_MINUTE 日和分钟 YEAR 年 DAY_SECOND 日和秒 MONTH 月 HOUR_MINUTE 小时和分钟 DAY 日 HOUR_SECOND 小时和秒 MINUTE_SECOND 分钟和秒 -
计算日期和时间函数之二
函数 用法 ADDTIME(time1, time2) 返回time1加上time2的时间,当time2是数字时,代表秒 SUBTIME(time1, time2) 返回time1加上time2的时间 DATEDIFF(date1, date2) 返回date1 - date2 的日期间隔天数 TIMEDIFF(time1, time2) 返回time1 - time2 的时间间隔 FROM_DAYS(n) 返回从0000年1月1日起,n天后的日期 TO_DAYS(date) 返回日期date距离0000年1月1日的天数 LAST_DAY(date) 返回date所在月份的最后一天的日期 MAKEDATE(year, n) 针对给定年份与天数组合并返回一个新的日期 MAKETIME(hour, minute, second) 将给定的小时、分钟和秒组合成时间并返回 PERIOD_ADD(time, n) 返回YYYYMM加上n个月后的时间 -
日期的格式化与解析
函数 用法 DATE_FORMAT(date, fmt) 按照fmt格式化日期date的值 TIME_FORMAT(time, fmt) 按照fmt格式化时间time的值 GET_FORMAT(date_type, format_type) 返回日期字符串的显示格式 STR_TO_DATE(str, fmt) 按照fmt格式对字符串str进行解析,解析为一个日期 8.1 非GET_FORMAT函数的参数类型
格式符 说明 格式符 说明 年 %Y 4位数字表示年份 %y 2位数字表示年份 月 %M 全英文月份 %m 两位数字表示月份,例:01 %b 缩写英文月份 %c 一位数字表示月份,例:1 周 %W 全英文周几 %w 数字表示,0指周日,1指周一 %a 缩写英文周几 日 %D 英文后缀式月中天数,例:1st,2nd %d 两位数字表示月中天数 %e 一位数字表示月中天数 时 %H 24小时制,两位数字表示,例:01 %h 12小时制,两位数字表示 %k 24小时制,一位数字表示,例:1 %l 12小时制,一位数字表示 分 秒 %i 两位数字表示分钟 %S / %s 两位数字表示秒 日期计算 %j 一年中的第几天 %U / %u 一年中的第几周 时间制 %T 24小时制显示时间 %r 12小时制显示时间,带AM/PM %p AM / PM 其它 %% % 8.2 GET_FORMAT函数的参数类型
DATE TIME DATETIME USA %m . %d . %Y %h : % i: %s : %p JIS %Y-%m-%d %H : %i : %s ISO %Y-%m-%d %H : %i : %s EUR %d . %m . %Y %H . %i . %s INTERNAL %Y%m%d %H%i%s -
流程控制函数
注:THEN后面的字符串用单引号,END后面的字符串用双引号
-
加密与解密函数
-
查询MySQL相关信息函数
数 用法 ERSION() 返回当前MySQLD的版本号 ONNECTION_ID() 返回当前MySQL服务器的连接数 ATABASE() 返回MySQL命令行当前所在的数据库 SER() 返回当前连接MySQL的用户名,返回结果格式为”主机名@用户名“ HARSET(str) 返回字符串str的字符集 OLLATION(str) 返回字符串str的比较规则 -
其它函数
数 用法 ORMAT(value,n) 与ROUND(x,y)用法相同,将value四舍五入后保留n位小数 NET_ATON(IP value) 将以点分隔的IP地址转换为一个数字 NET_NTOA(value) 将数字形式的IP地址转换为以点分隔的IP地址 ENCHMARK(n,expr) 将表达式expr重复执行n次,用于测试MySQL处理expr所需时间 NVERT(str USING char_code) 将字符串str的编码格式转换为char_code