我有一個包含兩個日期列的表。但是這些列在varchar中。我需要將它們轉換爲日期格式。將varchar轉換爲sql服務器中的日期格式
的樣本數據是這樣的:
戶口號碼|註冊日期|系統狀態更改日期
01740567715 | 10-JUL-13 | 30-JUL-13 12.53.32.000000000 PM
我希望這兩列都是這樣的:2013年7月10日。
登記日期,我使用此代碼:
Update [dbo].[SysDataV2]
Set ["REGISTRATION_DATE"]= convert(datetime, (["REGISTRATION_DATE"]), 106)
但它shwoing結果爲varchar,也顯示錯誤的格式。
對於我使用下面的代碼系統狀態更改日期:
update [dbo].[SysData]
Set ["KYC_STATUS_CHANGED_DATE"]= REPLACE(CONVERT(datetime,convert(datetime,left(["KYC_STATUS_CHANGED_DATE"],9),103),106),' ' ,'-')
兩者都轉變爲某種類型的日期格式(不是我預期的格式),但表結構,他們仍顯示爲VARCHAR。
我在這裏做錯了什麼?
表數據類型仍然是varchar。更新會更改存儲的字符串,但它不會奇蹟般地更改數據類型。 –
@AaronBertrand:那麼我必須運行一個選擇查詢並在那裏轉換日期? –
不,您需要在數據正確時更改列的數據類型。 –