溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQL中日期與字符串怎么互相轉(zhuǎn)換

發(fā)布時(shí)間:2022-11-04 10:47:33 來源:億速云 閱讀:215 作者:iii 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章主要講解了“SQL中日期與字符串怎么互相轉(zhuǎn)換”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“SQL中日期與字符串怎么互相轉(zhuǎn)換”吧!

一.Oracle日期和字符串互相轉(zhuǎn)換

1.1 日期轉(zhuǎn)字符串

1.1.1 yyyy年mm月dd日hh34時(shí)mi分ss秒

手動(dòng)拼接年月日

select
      to_char(sysdate, 'yyyy') || '年' 
   || to_char(sysdate, 'mm') || '月' 
   || to_char(sysdate, 'dd') || '日'
   || ' '
   || to_char(sysdate, 'hh34') || '時(shí)' 
   || to_char(sysdate, 'mi') || '分' 
   || to_char(sysdate, 'ss') || '秒' 
from
  dual

結(jié)果

2021年09月08日

1.1.2 yyyy-mm-dd hh34:mi:ss

日期不去掉0,并且以24小時(shí)制顯示

select
  to_char(sysdate, 'yyyy-mm-dd hh34:mi:ss') 
from
  dual

結(jié)果

2021-09-08 11:12:02

1.1.3 yyyyfm-mm-dd hh34:mi:ss

日期去掉0,并且以24小時(shí)制顯示

select
  to_char(sysdate, 'yyyyfm-mm-dd hh34:mi:ss') 
from
  dual

結(jié)果

2021-9-8 11:21:55

1.1.4 yyyy/mm/dd

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

select
  to_char(sysdate, 'yyyy/mm/dd') 
from
  dual

結(jié)果

2021/09/08

1.1.5 yyyymmdd

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

select
  to_char(sysdate, 'yyyymmdd') 
from
  dual

結(jié)果

20210908

1.2 字符串轉(zhuǎn)日期

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

select
  to_date('20210908', 'yyyymmdd') 
from
  dual

結(jié)果

2021/09/08 0:00:00

select
  to_date('2021-9-8 11:21:55', 'yyyyfm-mm-dd hh34:mi:ss') 
from
  dual

結(jié)果

2021/09/08 11:21:55

二. SqlServer日期和字符串互相轉(zhuǎn)換

2.1日期轉(zhuǎn)字符串

2.1.1 yyyy/mm/dd

SELECT
  CONVERT(varchar (100), GETDATE(), 111)

結(jié)果

2021/09/08

2.1.2 yyyy-mm-dd

SELECT
  CONVERT(varchar (100), GETDATE(), 23)

結(jié)果

2021-09-08

2.1.3 yyyymmdd

SELECT
  CONVERT(varchar (100), GETDATE(), 112)

結(jié)果

20210908

2.1.4 yyyy-mm-dd hh:mm:ss

SELECT
  CONVERT(varchar (100), GETDATE(), 120)

結(jié)果

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())) + '日'

結(jié)果

2021年9月8日

2.2 字符串轉(zhuǎn)日期

CAST(‘字符串日期’ as ‘?dāng)?shù)據(jù)類型-一般為date或者datetime’)

如果字符串日期并不是合法的日期的話,會(huì)報(bào)錯(cuò)

TRY_CAST(‘字符串日期’ as ‘?dāng)?shù)據(jù)類型-一般為date或者datetime’)

嘗試將字符串日期轉(zhuǎn)換為日期類型,如果轉(zhuǎn)換失敗的話,會(huì)返回NULL

SELECT
  CAST('20200908' as datetime)

結(jié)果

2020/09/08 0:00:00

SELECT
  CAST('20200908' as date)

結(jié)果

2020/09/08

SELECT 
  TRY_CAST('2021-09-08' as datetime)

結(jié)果

2021/09/08 0:00:00

SELECT 
  TRY_CAST('2021/09/08 11:21:55' as datetime)

結(jié)果

2021/09/08 11:21:55

三.Mysql日期和字符串互相轉(zhuǎn)換

參考資料: MySQL中日期時(shí)間類型與格式化

3.1 日期轉(zhuǎn)字符串

DATE_FORMAT( )函數(shù)

3.1.1 yyyy年mm月dd日 hh時(shí)ii分ss秒

SELECT
	DATE_FORMAT(NOW(), '%Y年%m月%d日 %H時(shí)%i分%s秒' );

結(jié)果

2021年09月08日 21時(shí)04分59秒

3.1.2 yyyy-mm-dd hh:ii:ss

SELECT
	DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')

3.2 字符串轉(zhuǎn)日期

STR_TO_DATE函數(shù)

SELECT
	STR_TO_DATE('2019年01月17日 19時(shí)05分05秒', '%Y年%m月%d日 %H時(shí)%i分%s秒');

結(jié)果

2019-01-17 19:05:05

感謝各位的閱讀,以上就是“SQL中日期與字符串怎么互相轉(zhuǎn)換”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)SQL中日期與字符串怎么互相轉(zhuǎn)換這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

sql
AI