翼度科技»论坛 编程开发 mysql 查看内容

SQL中日期与字符串互相转换操作实例

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
一.Oracle日期和字符串互相转换


1.1 日期转字符串


1.1.1 yyyy年mm月dd日hh24時mi分ss秒
  1. 手动拼接年月日
复制代码
  1. select
  2.       to_char(sysdate, 'yyyy') || '年'
  3.    || to_char(sysdate, 'mm') || '月'
  4.    || to_char(sysdate, 'dd') || '日'
  5.    || ' '
  6.    || to_char(sysdate, 'hh24') || '時'
  7.    || to_char(sysdate, 'mi') || '分'
  8.    || to_char(sysdate, 'ss') || '秒'
  9. from
  10.   dual
复制代码
⏹结果
  1. 2021年09月08日
复制代码
1.1.2 yyyy-mm-dd hh24:mi:ss
  1. 日期不去掉0,并且以24小时制显示
复制代码
  1. select
  2.   to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')
  3. from
  4.   dual
复制代码
⏹结果
  1. 2021-09-08 11:12:02
复制代码
1.1.3 yyyyfm-mm-dd hh24:mi:ss
  1. 日期去掉0,并且以24小时制显示
复制代码
  1. select
  2.   to_char(sysdate, 'yyyyfm-mm-dd hh24:mi:ss')
  3. from
  4.   dual
复制代码
⏹结果
  1. 2021-9-8 11:21:55
复制代码
1.1.4 yyyy/mm/dd
  1. 只显示年月日,并且有分隔符
复制代码
  1. select
  2.   to_char(sysdate, 'yyyy/mm/dd')
  3. from
  4.   dual
复制代码
⏹结果
  1. 2021/09/08
复制代码
1.1.5 yyyymmdd
  1. 只显示年月日,没有分隔符
复制代码
  1. select
  2.   to_char(sysdate, 'yyyymmdd')
  3. from
  4.   dual
复制代码
⏹结果
  1. 20210908
复制代码
1.2 字符串转日期
  1. 使用to_date(‘日期’, ‘格式’)函数,具体格式和to_char()中的格式相同
复制代码
  1. select
  2.   to_date('20210908', 'yyyymmdd')
  3. from
  4.   dual
复制代码
⏹结果
  1. 2021/09/08 0:00:00
复制代码
  1. select
  2.   to_date('2021-9-8 11:21:55', 'yyyyfm-mm-dd hh24:mi:ss')
  3. from
  4.   dual
复制代码
⏹结果
  1. 2021/09/08 11:21:55
复制代码
二. SqlServer日期和字符串互相转换


2.1日期转字符串


2.1.1 yyyy/mm/dd
  1. SELECT
  2.   CONVERT(varchar (100), GETDATE(), 111)
复制代码
⏹结果
  1. 2021/09/08
复制代码
2.1.2 yyyy-mm-dd
  1. SELECT
  2.   CONVERT(varchar (100), GETDATE(), 23)
复制代码
⏹结果
  1. 2021-09-08
复制代码
2.1.3 yyyymmdd
  1. SELECT
  2.   CONVERT(varchar (100), GETDATE(), 112)
复制代码
⏹结果
  1. 20210908
复制代码
2.1.4 yyyy-mm-dd hh:mm:ss
  1. SELECT
  2.   CONVERT(varchar (100), GETDATE(), 120)
复制代码
⏹结果
  1. 2021-09-08 12:30:33
复制代码
2.1.5 yyyy年mm月dd日
  1. select
  2.     CONVERT(varchar, DATEPART(yy, GETDATE())) + '年'
  3.   + CONVERT(varchar, DATEPART(mm, GETDATE())) + '月'
  4.   + CONVERT(varchar, DATEPART(dd, GETDATE())) + '日'
复制代码
⏹结果
  1. 2021年9月8日
复制代码
2.2 字符串转日期

⭕ CAST(‘字符串日期’ as ‘数据类型-一般为date或者datetime’)
如果字符串日期并不是合法的日期的话,会报错
⭕ TRY_CAST(‘字符串日期’ as ‘数据类型-一般为date或者datetime’)
尝试将字符串日期转换为日期类型,如果转换失败的话,会返回
  1. NULL
复制代码
  1. SELECT
  2.   CAST('20200908' as datetime)
复制代码
⏹结果
  1. 2020/09/08 0:00:00
复制代码
  1. SELECT
  2.   CAST('20200908' as date)
复制代码
⏹结果
  1. 2020/09/08
复制代码
  1. SELECT
  2.   TRY_CAST('2021-09-08' as datetime)
复制代码
⏹结果
  1. 2021/09/08 0:00:00
复制代码
  1. SELECT
  2.   TRY_CAST('2021/09/08 11:21:55' as datetime)
复制代码
⏹结果
  1. 2021/09/08 11:21:55
复制代码
三.Mysql日期和字符串互相转换
  1. 参考资料: <a href="https://www.jb51.net/article/254066.htm" target="_blank">MySQL中日期时间类型与格式化</a>
复制代码
3.1 日期转字符串
  1. DATE_FORMAT( )函数
复制代码
3.1.1 yyyy年mm月dd日 hh时ii分ss秒
  1. SELECT
  2.         DATE_FORMAT(NOW(), '%Y年%m月%d日 %H时%i分%s秒' );
复制代码
⏹结果
  1. 2021年09月08日 21时04分59秒
复制代码
3.1.2 yyyy-mm-dd hh:ii:ss
  1. SELECT
  2.         DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')
复制代码
3.2 字符串转日期
  1. STR_TO_DATE函数
复制代码
  1. SELECT
  2.         STR_TO_DATE('2019年01月17日 19时05分05秒', '%Y年%m月%d日 %H时%i分%s秒');
复制代码
⏹结果
  1. 2019-01-17 19:05:05
复制代码
总结

到此这篇关于SQL中日期与字符串互相转换操作的文章就介绍到这了,更多相关SQL日期和字符串互相转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/article/266050.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具