2010-10-01 200 views
3

我有一個包含800多條記錄的表。在這個表中,我有一個名爲'Data'的varchar(10)數據類型的列,其中包含日期dd.MM.yyyy format.I想要將其轉換爲smalldatetime。將varchar列轉換爲smalldatetime

我試着用企業管理Studio Express的轉換,但我收到此錯誤:

The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value.

我如何轉換呢?

回答

2

我想你需要做一些小小的字符串操作才能使它工作,因爲我認爲SQL期待'MM.dd.yyyy'。因此,首先更新您的桌面,然後轉換應該經過。

update YourTable 
    set Data = SUBSTRING(Data,4,3) + LEFT(Data,3) + RIGHT(Data,4) 
+0

謝謝喬!有效! – milo2010 2010-10-01 16:42:57

0

您可以使用:
SELECT ID, CAST(VarcharCol As SmallDateTime) as DateTimeCol From Test1
這將返回一個表varcharcol值SMALLDATETIME 然後更新varcharcol與新價值的內容。