2017-02-24 259 views
0

我創建了多個表格,格式爲日期時間或日期。不過,我需要將它們更改爲nvarchar。我看到它的方式是我需要刪除所有表,修改數據類型並重新創建它。 有沒有一種方法可以自動更改數據類型?將日期時間/日期轉換爲SQL中的NVarchar格式

+5

爲什麼?你不想再存儲日期嗎?如果該列包含日期,請保留日期數據類型。如果該列存儲除日期以外的任何內容,那麼您的模型是否正確? – HoneyBadger

+2

可怕的,可怕的想法,並反對所有的邏輯。將它們保持爲DATETIME,然後使用格式或轉換函數來顯示它,但是您需要。每次需要執行任何ORDER BY或DATE或TIME函數時,將數據類型更改爲varchar將強制您將其轉換回DATETIME。節省自己的頭痛 – scsimon

回答

0

代替GETDATE的,請把你的塔,並嘗試

SELECT CONVERT(nvarchar(10), getdate(), 103) 
0

如果列被意外設置爲DATETIME列,你想改變自己的類型,那也沒問題:

ALTER TABLE myTable ALTER COLUMN myColumn NVARCHAR(55); 

但正如其他人所說,如果表已經有數據,並且如果這些列旨在實際保存值,那麼您應該認真重新考慮這樣做。

相關問題