0
我知道,當我這樣做時,將其轉換GETDATE爲intTSQL GETDATE轉換
select cast (getdate() as int)
我的服務器上GETDATE輸出爲 「2010-06-11 14:42:20.100」 和INT哪個上述命令轉換爲40339.這個整數是什麼?這個int是否考慮過分鐘和 秒?我很困惑。請幫忙。
問候
Manjot
我知道,當我這樣做時,將其轉換GETDATE爲intTSQL GETDATE轉換
select cast (getdate() as int)
我的服務器上GETDATE輸出爲 「2010-06-11 14:42:20.100」 和INT哪個上述命令轉換爲40339.這個整數是什麼?這個int是否考慮過分鐘和 秒?我很困惑。請幫忙。
問候
Manjot
此號碼是由於參考日期,這是01/01/1900的天數。你應該得到相同的結果:
SELECT DATEDIFF(day, 0, GETDATE())
在內部,SQL將datetimes存儲爲兩個4字節整數。第一個整數(您在聲明中獲得的)表示自參考日期以來的天數。第二個整數代表自午夜以來1/300秒的間隔數。您可以通過先將二進制轉換爲二進制,然後再轉換爲int來找到第二個整數:
SELECT CONVERT(int, CONVERT(binary(4), GETDATE()))
非常感謝。 – Manjot 2010-06-11 03:07:14