本文為您介紹STRING、TIMESTAMP與DATETIME類型資料間的轉換方法,協助您在實際業務處理過程中,快速對標找到合適的日期轉換方法,提升業務處理效率。
日期資料格式轉換常見情境如下:
STRING轉換為TIMESTAMP
- 應用情境
將STRING類型資料轉換為TIMESTAMP類型(格式為
yyyy-mm-dd hh:mi:ss.ff3)的日期值。 - 實現方法
使用CAST函數進行轉換。
- 使用限制
輸入的STRING類型資料的格式至少要滿足
yyyy-mm-dd hh:mi:ss要求。 - 使用樣本
- 樣本1:使用CAST函數,將STRING類型資料
2009-07-01 16:09:00轉換為TIMESTAMP類型。命令樣本如下。--返回2009-07-01 16:09:00.000。 select cast('2009-07-01 16:09:00' as timestamp); - 樣本2:錯誤使用CAST函數的命令樣本如下。
--返回NULL。輸入資料格式不滿足要求。至少要包含yyyy-mm-dd hh:mi:ss格式。 select cast('2009-07-01' as timestamp);
- 樣本1:使用CAST函數,將STRING類型資料
STRING轉換為DATETIME
- 應用情境
將STRING類型資料轉換為DATETIME類型(格式為
yyyy-mm-dd hh:mi:ss)的日期值。 - 實現方法
- 使用限制
- 使用CAST函數時,輸入的STRING類型資料的格式必須要滿足
yyyy-mm-dd hh:mi:ss要求。 - 使用TO_DATE函數時,需要指定format參數的取值為
yyyy-mm-dd hh:mi:ss。
- 使用CAST函數時,輸入的STRING類型資料的格式必須要滿足
- 使用樣本
- 樣本1:使用CAST函數,將STRING類型資料
2009-07-01 16:09:00轉換為DATETIME類型。命令樣本如下。--返回2009-07-01 16:09:00。 select cast('2009-07-01 16:09:00' as datetime); - 樣本2:使用TO_DATE函數,指定format參數,將STRING類型資料
2009-07-01 16:09:00轉換為DATETIME類型。命令樣本如下。--返回2009-07-01 16:09:00。 select to_date('2009-07-01 16:09:00','yyyy-mm-dd hh:mi:ss'); - 樣本3:錯誤使用CAST函數的命令樣本如下。
--返回NULL。輸入資料格式不滿足要求。必須為yyyy-mm-dd hh:mi:ss格式。 select cast('2009-07-01' as datetime); - 樣本4:錯誤使用TO_DATE函數的命令樣本如下。
--返回NULL。輸入資料格式不滿足要求。必須為yyyy-mm-dd hh:mi:ss格式。 select to_date('2009-07-01','yyyy-mm-dd hh:mi:ss');
- 樣本1:使用CAST函數,將STRING類型資料
TIMESTAMP轉換為STRING
- 應用情境
將TIMESTAMP類型(格式為
yyyy-mm-dd hh:mi:ss.ff3)的日期值轉換為STRING類型。 - 實現方法
- 使用樣本
- 樣本1:使用CAST函數,將TIMESTAMP類型資料
2009-07-01 16:09:00轉換為STRING類型。為構造TIMESTAMP類型資料,總共需要使用2次CAST函數。命令樣本如下。--返回2009-07-01 16:09:00。 select cast(cast('2009-07-01 16:09:00' as timestamp) as string); - 樣本2:使用TO_CHAR函數,將TIMESTAMP類型資料
2009-07-01 16:09:00轉換為STRING類型。為構造TIMESTAMP類型資料,需要使用到1次CAST函數。命令樣本如下。--返回2009-07-01 16:09:00。 select to_char(cast('2009-07-01 16:09:00' as timestamp),'yyyy-mm-dd hh:mi:ss');
- 樣本1:使用CAST函數,將TIMESTAMP類型資料
TIMESTAMP轉換為DATETIME
- 應用情境
將TIMESTAMP類型(格式為
yyyy-mm-dd hh:mi:ss.ff3)的日期值轉換為DATETIME類型(格式為yyyy-mm-dd hh:mi:ss)的日期值。 - 實現方法
- 使用限制
使用TO_DATE函數時,需要指定format參數的取值為
yyyy-mm-dd hh:mi:ss。 - 使用樣本
- 樣本1:使用CAST函數,將TIMESTAMP類型資料
2009-07-01 16:09:00轉換為DATETIME類型。為構造TIMESTAMP類型資料,總共需要使用2次CAST函數。命令樣本如下。--返回2009-07-01 16:09:00。 select cast(cast('2009-07-01 16:09:00' as timestamp) as datetime); - 樣本2:使用TO_DATE函數,指定format參數,將TIMESTAMP類型資料
2009-07-01 16:09:00轉換為DATETIME類型。為構造TIMESTAMP類型資料,需要使用到1次CAST函數。命令樣本如下。--返回2009-07-01 16:09:00。 select to_date(cast('2009-07-01 16:09:00' as timestamp),'yyyy-mm-dd hh:mi:ss');
- 樣本1:使用CAST函數,將TIMESTAMP類型資料
DATETIME轉換為TIMESTAMP
- 應用情境
將DATETIME類型(格式為
yyyy-mm-dd hh:mi:ss)的日期值轉換為TIMESTAMP類型(格式為yyyy-mm-dd hh:mi:ss.ff3)的日期值。 - 實現方法
使用CAST函數進行轉換。
- 使用樣本使用CAST函數,將DATETIME類型的日期值轉換為TIMESTAMP類型。為構造DATETIME類型資料,需要使用到1次GETDATE函數。命令樣本如下。
--返回2021-10-14 10:21:47.939。 select cast(getdate() as timestamp);
DATETIME轉換為STRING
- 應用情境
將DATETIME類型(格式為
yyyy-mm-dd hh:mi:ss)的日期值轉換為STRING類型。 - 實現方法
- 使用樣本
- 樣本1:使用CAST函數,將DATETIME類型的日期值轉換為STRING類型。為構造DATETIME類型資料,需要使用到1次GETDATE函數。命令樣本如下。
--返回2021-10-14 10:21:47。 select cast(getdate() as string); - 樣本2:使用TO_CHAR函數,將DATETIME類型的日期值轉換為指定格式的STRING類型。為構造DATETIME類型資料,需要使用到1次GETDATE函數。命令樣本如下。
--返回2021-10-14 10:21:47。 select to_char (getdate(),'yyyy-mm-dd hh:mi:ss'); --返回2021-10-14。 select to_char (getdate(),'yyyy-mm-dd'); --返回2021。 select to_char (getdate(),'yyyy');
- 樣本1:使用CAST函數,將DATETIME類型的日期值轉換為STRING類型。為構造DATETIME類型資料,需要使用到1次GETDATE函數。命令樣本如下。