SQL中日期與字符串互相轉換操作實例
一.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中日期與字符串互相轉換操作的文章就介紹到這了,更多相關SQL日期和字符串互相轉換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySQL中Like模糊查詢速度太慢該如何進行優(yōu)化
在業(yè)務場景中經常會用到like模糊查詢,但是大家都知道,like是用不到索引的,所以當數據量非常大時,速度會非常慢,這篇文章主要給大家介紹了關于MySQL中Like模糊查詢速度太慢該如何進行優(yōu)化的相關資料,需要的朋友可以參考下2021-12-12
mysql(master/slave)主從復制原理及配置圖文詳解
這篇文章主要介紹了mysql(master/slave)主從復制原理及配置圖文詳解,以前腳本之家小編發(fā)過相關的內容,但這么好的非常少見特分享一下,需要的朋友可以參考下2016-05-05
Mysql實現模糊查詢的兩種方式(like子句?、正則表達式)
通配符是一種特殊語句,主要用來模糊查詢,下面這篇文章主要給大家介紹了關于給Mysql實現模糊查詢的兩種方式,分別是like子句?、正則表達式,需要的朋友可以參考下2022-09-09
MySQL通過show status查看、explain分析優(yōu)化數據庫性能
這篇文章介紹了MySQL通過show status查看、explain分析優(yōu)化數據庫性能的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-04-04
MySQL8.0登錄時出現Access?denied?for?user?‘root‘@‘localhost‘?
這篇文章主要給大家介紹了解決MySQL8.0登錄時出現Access?denied?for?user?‘root‘@‘localhost‘?(using?password:?YES)?拒絕訪問的問題,文中有詳細的解決方法,需要的朋友可以參考下2023-09-09

