2013-04-18 33 views
3

我需要從SQL Server生成插入腳本,並且當我使用SQL Server腳本生成器時,它使用來自十六進制的CAST日期時間值。SQL Server腳本生成器來自十六進制的CAST日期時間值

CAST(xxxxxxxxxxxxx as dateTime) 

我該如何避免這種情況?我想在腳本

+0

不幸的是你不能禁用它;可能重複[數據腳本生成問題](http://stackoverflow.com/questions/10824673/problems-with-data-script-generation) –

回答

4

實際值不幸的是這是不可能的,SQL Server在內部產生的十六進制值作爲DateTime值。

這十六進制值在邏輯上被劃分爲兩個組中的一個是日期&另一個是時間。

例如0x00009CEF00A25634 - 十六進制值。

日期部分: - 0x00009CEF(十進制40175)

時間部分: - 00A25634(十進制10638900)

如果選擇此十六進制值一樣,

select CAST (0x00009CEF00A25634 as datetime) 

其返回,2009- 9月12日至三十○日:51:03.000

我希望這個答案對你有幫助。

謝謝。

+0

所以,這是否意味着如果我離開我,因爲它,它會插入正確的日期到目標表中? – InTheWorldOfCodingApplications

+0

是的,如果你看到生成的插入腳本,那麼已經有CAST函數。 SQL Server只顯示十六進制值,但它已經將十六進制值放入CAST函數,所以現在您可以使用生成的腳本插入,這將插入真正的DateTime值。讓我知道進一步的查詢。謝謝...! – Anvesh

相關問題