当前位置: 首页 > article >正文

MySQL日期转字符串,字符串转日期的函数

一、日期转字符串的函数

1. DATE_FORMAT()

  • 功能:将日期或时间值格式化为指定的字符串格式。

  • 语法

    DATE_FORMAT(date, format)
    
  • 示例

    SELECT DATE_FORMAT('2023-10-05', '%Y/%m/%d');
    

    输出:

    2023/10/05
    
  • 常用格式符

    • %Y:四位数的年份(如 2023)
    • %m:两位数的月份(01 到 12)
    • %d:两位数的日期(01 到 31)
    • %H:24 小时制的小时(00 到 23)
    • %i:两位数的分钟(00 到 59)
    • %s:两位数的秒数(00 到 59)

2. CAST()

  • 功能:将日期或时间值强制转换为字符串。
  • 语法
    CAST(date AS CHAR)
    
  • 示例
    SELECT CAST('2023-10-05' AS CHAR);
    
    输出:
    2023-10-05
    

3. CONVERT()

  • 功能:将日期或时间值转换为字符串。
  • 语法
    CONVERT(date, CHAR)
    
  • 示例
    SELECT CONVERT('2023-10-05', CHAR);
    
    输出:
    2023-10-05
    

4. CONCAT()

  • 功能:将日期或时间值与字符串拼接。
  • 语法
    CONCAT(date, ' additional text')
    
  • 示例
    SELECT CONCAT('2023-10-05', ' is a date');
    
    输出:
    2023-10-05 is a date
    

二、字符串转日期的函数

1. STR_TO_DATE()

  • 功能:将字符串按照指定的格式转换为日期或时间类型。

  • 语法

    STR_TO_DATE(string, format)
    
  • 示例

    SELECT STR_TO_DATE('2023-10-05', '%Y-%m-%d');
    

    输出:

    2023-10-05
    
  • 常用格式符

    • %Y:四位数的年份(如 2023)
    • %m:两位数的月份(01 到 12)
    • %d:两位数的日期(01 到 31)
    • %H:24 小时制的小时(00 到 23)
    • %i:两位数的分钟(00 到 59)
    • %s:两位数的秒数(00 到 59)

2. DATE()

  • 功能:从日期时间字符串中提取日期部分。
  • 语法
    DATE(datetime_string)
    
  • 示例
    SELECT DATE('2023-10-05 14:30:45');
    
    输出:
    2023-10-05
    

3. CAST()

  • 功能:将字符串强制转换为日期类型。
  • 语法
    CAST(string AS DATE)
    
  • 示例
    SELECT CAST('2023-10-05' AS DATE);
    
    输出:
    2023-10-05
    

4. CONVERT()

  • 功能:将字符串转换为日期类型。
  • 语法
    CONVERT(string, DATE)
    
  • 示例
    SELECT CONVERT('2023-10-05', DATE);
    
    输出:
    2023-10-05
    

5. UNIX_TIMESTAMP() + FROM_UNIXTIME()

  • 功能:将时间戳字符串转换为日期格式。
  • 语法
    FROM_UNIXTIME(UNIX_TIMESTAMP(string, format))
    
  • 示例
    SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2023-10-05', '%Y-%m-%d'));
    
    输出:
    2023-10-05 00:00:00
    

三、总结

日期转字符串

函数适用场景示例
DATE_FORMAT()将日期按指定格式转换为字符串DATE_FORMAT('2023-10-05', '%Y/%m/%d')
CAST()将日期强制转换为字符串CAST('2023-10-05' AS CHAR)
CONVERT()将日期转换为字符串CONVERT('2023-10-05', CHAR)
CONCAT()将日期与字符串拼接CONCAT('2023-10-05', ' is a date')

字符串转日期

函数适用场景示例
STR_TO_DATE()将字符串按指定格式转换为日期STR_TO_DATE('2023-10-05', '%Y-%m-%d')
DATE()从日期时间字符串中提取日期部分DATE('2023-10-05 14:30:45')
CAST()将字符串强制转换为日期类型CAST('2023-10-05' AS DATE)
CONVERT()将字符串转换为日期类型CONVERT('2023-10-05', DATE)
UNIX_TIMESTAMP() + FROM_UNIXTIME()将时间戳字符串转换为日期格式FROM_UNIXTIME(UNIX_TIMESTAMP('2023-10-05', '%Y-%m-%d'))

根据实际需求选择合适的函数即可。如果字符串的格式不是标准的 YYYY-MM-DD,推荐使用 STR_TO_DATE(),因为它支持自定义格式。


http://www.kler.cn/a/591931.html

相关文章:

  • Skia 图形引擎介绍
  • Vim软件使用技巧
  • Vue3组合式函数(刷新率 useFps)
  • 焊接机器人与线激光视觉系统搭配的详细教程
  • 深度学习零碎知识
  • Linux 如何查看当前使用的shell
  • 【解析 ECharts 图表样式继承与自定义】
  • 【Json-RPC框架】:Json序列化后,不能显式中文?增加emitUTF8配置
  • GIT使用git push后遇到报错的解决办法
  • centos 7误删/bash 拯救方法
  • Jackson 库进行 JSON 序列化时遇到了 ‌无限递归(Infinite Recursion)‌ 问题
  • LabVIEW烟气速度场实时监测
  • Qt常用控件之Layout总篇
  • 科技引领品质生活:三星生活家电用AI开启衣物洗护新纪元
  • 笔记本电脑关不了机是怎么回事 这有解决方法
  • Vue3 + ECharts 数据可视化实战指南
  • NAT技术-初级总结
  • java面试题之多线程
  • ViT、DETR 和 Swin Transformer :基于 Transformer 的计算机视觉(CV)模型
  • k8s中PAUSE容器与init容器比较 local卷与hostpath卷比较