SQL中日期與字串互相轉換操作範例

2022-11-03 18:00:28
本篇文章給大家帶來了關於的相關知識,其中主要介紹了日期與字串互相轉換操作的相關內容,下面一起來看一下,希望對大家有幫助。

千萬級資料並行如何處理?進入學習

推薦學習:《》

一.Oracle日期和字串互相轉換

1.1 日期轉字符串

1.1.1 yyyy年mm月dd日hh24時mi分ss秒

手動拼接年月日

select
      to_char(sysdate, 'yyyy') || '年' 
   || to_char(sysdate, 'mm') || '月' 
   || to_char(sysdate, 'dd') || '日'
   || ' '
   || to_char(sysdate, 'hh24') || '時' 
   || to_char(sysdate, 'mi') || '分' 
   || to_char(sysdate, 'ss') || '秒' 
from
  dual
登入後複製

結果

2021年09月08日

1.1.2 yyyy-mm-dd hh24:mi:ss

日期不去掉0,並且以24小時制顯示

select
  to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') 
from
  dual
登入後複製

結果

2021-09-08 11:12:02

1.1.3 yyyyfm-mm-dd hh24:mi:ss

日期去掉0,並且以24小時制顯示

select
  to_char(sysdate, 'yyyyfm-mm-dd hh24:mi:ss') 
from
  dual
登入後複製

結果

2021-9-8 11:21:55

1.1.4 yyyy/mm/dd

只顯示年月日,並且有分隔符

select
  to_char(sysdate, 'yyyy/mm/dd') 
from
  dual
登入後複製

結果

2021/09/08

1.1.5 yyyymmdd

只顯示年月日,沒有分隔符

select
  to_char(sysdate, 'yyyymmdd') 
from
  dual
登入後複製

結果

20210908

1.2 字串轉日期

使用to_date(‘日期’, ‘格式’)函數,具體格式和to_char()中的格式相同

select
  to_date('20210908', 'yyyymmdd') 
from
  dual
登入後複製

結果

2021/09/08 0:00:00

select
  to_date('2021-9-8 11:21:55', 'yyyyfm-mm-dd hh24:mi:ss') 
from
  dual
登入後複製

結果

2021/09/08 11:21:55

二. SqlServer日期和字串互相轉換

2.1日期轉字串

2.1.1 yyyy/mm/dd

SELECT
  CONVERT(varchar (100), GETDATE(), 111)
登入後複製

結果

2021/09/08

2.1.2 yyyy-mm-dd

SELECT
  CONVERT(varchar (100), GETDATE(), 23)
登入後複製

結果

2021-09-08

2.1.3 yyyymmdd

SELECT
  CONVERT(varchar (100), GETDATE(), 112)
登入後複製

結果

20210908

2.1.4 yyyy-mm-dd hh:mm:ss

SELECT
  CONVERT(varchar (100), GETDATE(), 120)
登入後複製

結果

2021-09-08 12:30:33

2.1.5 yyyy年mm月dd日

select
    CONVERT(varchar, DATEPART(yy, GETDATE())) + '年' 
  + CONVERT(varchar, DATEPART(mm, GETDATE())) + '月' 
  + CONVERT(varchar, DATEPART(dd, GETDATE())) + '日'
登入後複製

結果

2021年9月8日

2.2 字串轉日期

CAST(‘字串日期’ as ‘資料型別-一般為date或者datetime’)

如果字串日期並不是合法的日期的話,會報錯

TRY_CAST(‘字串日期’ as ‘資料型別-一般為date或者datetime’)

嘗試將字串日期轉換為日期型別,如果轉換失敗的話,會返回NULL

SELECT
  CAST('20200908' as datetime)
登入後複製

結果

2020/09/08 0:00:00

SELECT
  CAST('20200908' as date)
登入後複製

結果

2020/09/08

SELECT 
  TRY_CAST('2021-09-08' as datetime)
登入後複製

結果

2021/09/08 0:00:00

SELECT 
  TRY_CAST('2021/09/08 11:21:55' as datetime)
登入後複製

結果

2021/09/08 11:21:55

三.Mysql日期和字串互相轉換

參考資料: MySQL中日期時間型別與格式化

3.1 日期轉字串

DATE_FORMAT( )函數

3.1.1 yyyy年mm月dd日 hh時ii分ss秒

SELECT
	DATE_FORMAT(NOW(), '%Y年%m月%d日 %H時%i分%s秒' );
登入後複製

結果

2021年09月08日 21時04分59秒

3.1.2 yyyy-mm-dd hh:ii:ss

SELECT
	DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')
登入後複製

3.2 字串轉日期

STR_TO_DATE函數

SELECT
	STR_TO_DATE('2019年01月17日 19時05分05秒', '%Y年%m月%d日 %H時%i分%s秒');
登入後複製

結果

2019-01-17 19:05:05

推薦學習:《》

以上就是SQL中日期與字串互相轉換操作範例的詳細內容,更多請關注TW511.COM其它相關文章!