亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何刪除日期時間值的時間部分(SQL Server)?

如何刪除日期時間值的時間部分(SQL Server)?

九州編程 2019-10-25 14:59:13
這是我使用的:SELECT CAST(FLOOR(CAST(getdate() as FLOAT)) as DATETIME)我認為可能會有更好,更優雅的方式。要求:它必須盡可能快(轉換越少越好)。最終結果必須是datetime類型,而不是字符串。
查看完整描述

3 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

Itzik Ben-Gan在DATETIME Calculations,第1部分(SQL Server Magazine,2007年2月)中介紹了執行這種轉換的三種方法(最慢到最快;第二種和第三種方法之間的差異很?。?/p>


SELECT CAST(CONVERT(char(8), GETDATE(), 112) AS datetime)


SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)


SELECT CAST(CAST(GETDATE() - 0.50000004 AS int) AS datetime)

讀者在雜志的四月號中提出了您的技巧(鑄造成浮動)。據他介紹,它的性能可與上述第二種技術媲美。


查看完整回答
反對 回復 2019-10-25
?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

你CAST- FLOOR- CAST似乎已經是最佳的方式,至少在MS SQL Server 2005中。


我見過的其他一些解決方案具有字符串轉換功能,例如Select Convert(varchar(11), getdate(),101),它們的速度要慢10倍。


查看完整回答
反對 回復 2019-10-25
  • 3 回答
  • 0 關注
  • 957 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號