闲碎记事本 闲碎记事本
首页
  • JAVA
  • Cloudflare
  • 学完再改一遍UI
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

YAN

我要偷偷记录...
首页
  • JAVA
  • Cloudflare
  • 学完再改一遍UI
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • java

  • linux

  • docker

  • redis

  • nginx

  • mysql

    • MySql常用命令
    • 修改MySql加密方式
    • Myshell常用函数
      • 日期函数
        • 时间
        • 年
        • 月
        • 周
        • 日
        • 时
        • 分
        • 秒
        • 格式转换
        • 组合
      • 字符函数
      • 高级函数
    • MySQL分区
  • 其他

  • 环境搭建

  • 知识库
  • mysql
Yan
2023-03-15
目录

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);
上次更新: 2025/05/14, 01:34:05
修改MySql加密方式
MySQL分区

← 修改MySql加密方式 MySQL分区→

最近更新
01
Caddy操作指南
04-25
02
Swap空间
04-22
03
Alist使用
04-21
更多文章>
Theme by Vdoing | Copyright © 2022-2025 YAN | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式