Myshell常用函数
# 日期函数
# 时间
时间类
- 返回当前日期
SELECT CURDATE();
SELECT CURRENT_DATE();
- 从日期或者日期表达式中提取日期值
SELECT DATE("2017-06-15");
- 返回当前时间
SELECT CURRENT_TIME();
SELECT CURTIME();
- 返回当前日期和时间
SELECT CURRENT_TIMESTAMP();
SELECT LOCALTIMESTAMP();
SELECT LOCALTIME();
SELECT NOW();
SELECT SYSDATE();
- 时间差
SELECT TIMEDIFF("13:10:11", "13:10:10");
# 年
年
- 得到年
SELECT YEAR("2017-06-15")
- 计算日期 d 是本年的第几天
SELECT DAYOFYEAR('2011-11-11 11:11:11')
- 取一年中第 N 天的日期
SELECT MAKEDATE(2017, 3)
# 月
月
- 得到月
SELECT MONTH("2017-06-15");
- 月份差
SELECT PERIOD_DIFF(201710, 201703);
- 返回日期是本月的第几天
SELECT DAYOFMONTH('2011-11-11 11:11:11');
- 返回给给定日期的那一月份的最后一天
SELECT LAST_DAY("2017-06-20")
- 得到月份名称
SELECT MONTHNAME('2011-11-11 11:11:11')
- 得到季度
SELECT QUARTER('2011-11-11 11:11:11')
# 周
周
- 得到日期在当年是第几周
SELECT YEARWEEK("2017-06-15");
SELECT WEEK('2011-11-11 11:11:11');
- 返回星期
SELECT DAYNAME('2011-11-11 11:11:11');
SELECT DAYOFWEEK('2011-11-11 11:11:11');
SELECT WEEKDAY("2017-06-15");
- 计算日期 d 是本年的第几个星期
SELECT WEEK('2011-11-11 11:11:11');
SELECT WEEKOFYEAR('2011-11-11 11:11:11');
# 日
日
- 增加日期
SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY)
SELECT ADDDATE('2011-11-11 11:11:11', INTERVAL 5 MINUTE)
SELECT ADDTIME("2020-06-15 09:34:21", "2:10:5")
- 减去日期
SELECT DATE_SUB('2011-11-11 11:11:11',INTERVAL 2 DAY)
SELECT SUBDATE('2011-11-11 11:11:11', 1)
- 日期差
SELECT DATEDIFF('2001-01-01','2001-02-02')
- 得到日
SELECT DAY("2017-06-15")
# 时
时
- 得到小时
SELECT HOUR("2017-06-15")
# 分
分
- 得到分钟
SELECT MINUTE("2017-06-15")
# 秒
秒
- 得到秒
SELECT SECOND("2017-06-15")
- 减秒
SELECT SUBTIME('2011-11-11 11:11:11', 5)
# 格式转换
格式转换
- 根据时间类型返回值
SELECT EXTRACT(MINUTE FROM '2011-11-11 11:11:11')
- 秒转时间
SELECT SEC_TO_TIME('1:2:3')
- 时间转秒
SELECT TIME_TO_SEC('1:12:00')
- 格式化日期
SELECT DATE_FORMAT('2011-11-11 11:11:11','%Y-%m-%d %r')
- 字符转日期
SELECT STR_TO_DATE("August 10 2017", "%M %d %Y")
- 提取传入表达式的时间部分
SELECT TIME("19:30:10");
- 按表达式 f 的要求显示时间 t
SELECT TIME_FORMAT('11:11:11','%r')
# 组合
组合
- 组合时间,参数分别为小时、分钟、秒
SELECT MAKETIME(11, 35, 4)
- 为 年-月 组合日期添加一个时段
SELECT PERIOD_ADD(201703, 5)
- 单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和
SELECT TIMESTAMP("2017-07-23", "13:10:11");
# 字符函数
字符函数
- 字符长度
SELECT CHAR_LENGTH("RUNOOB");
SELECT CHARACTER_LENGTH("RUNOOB");
- 合并字符
SELECT CONCAT("shell ", "Runoob ", "Gooogle ", "Facebook")
- 合并多个字符串,并添加分隔符
SELECT CONCAT_WS("-", "shell", "Tutorial", "is", "fun!")
- 大写
SELECT UCASE("runoob")
SELECT UPPER("runoob")
- 小写
SELECT LCASE('RUNOOB')
SELECT LOWER('RUNOOB')
- 截取
SELECT LEFT('runoob',2)
- 指定位置截取指定长度
SELECT MID("RUNOOB", 2, 3)
SELECT SUBSTR("RUNOOB", 2, 3)
SELECT SUBSTRING("RUNOOB", 2, 3)
- 去空格
SELECT LTRIM(" RUNOOB")
SELECT TRIM(' RUNOOB ')
# 高级函数
高级函数
- 返回当前用户
SELECT USER();
SELECT SYSTEM_USER()
SELECT SESSION_USER()
SELECT CURRENT_USER()
- 返回数据名
SELECT DATABASE()
- 返回数据库的版本号
SELECT VERSION()
- 如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2
SELECT IF(1 > 0,'正确','错误')
- 如果 v1 的值不为 NULL,则返回 v1,否则返回 v2
SELECT IFNULL(null,'Hello Word')
- 判断表达式是否为 NULL
SELECT ISNULL(NULL)
- 返回最近生成的 AUTO_INCREMENT 值
SELECT LAST_INSERT_ID()
- 比较两个字符串,如果字符串 expr1 与 expr2 相等 返回 NULL,否则返回 expr1
SELECT NULLIF(25, 25);
上次更新: 2024/11/05, 08:29:31