我有一個 varchar 資料型別的日期欄位,其中一些值是例如 20220101000009CS。我需要將日期顯示為 (MM/dd/yyyy HH:mm:ss') 并嘗試了以下查詢,但收到錯誤“從字串轉換日期和/或時間時轉換失敗。”
select convert(datetime, 'DATE',20)
from [TABLE1].[dbo].[ABC]
請建議我如何解決這個問題。
uj5u.com熱心網友回復:
您可以使用STUFF在正確的位置注入所需的字符以獲得yyyyMMdd hh:mm:ss在 SQL Server 中也明確的格式:
SELECT V.YourColumn,
CONVERT(datetime2(0),STUFF(STUFF(STUFF(LEFT(V.YourColumn,14),13,0,':'),11,0,':'),9,0,' '))
FROM (VALUES('20220101000009CS'))V(YourColumn);
uj5u.com熱心網友回復:
這樣的事情怎么樣?
SELECT DATETIMEFROMPARTS(
SUBSTRING(datefield, 1, 4),
SUBSTRING(datefield, 5, 2),
SUBSTRING(datefield, 7, 2),
SUBSTRING(datefield, 9, 2),
SUBSTRING(datefield, 11, 2),
SUBSTRING(datefield, 13, 2),
0)
FROM [TABLE1].[dbo].[ABC];
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/417189.html
標籤:
