我的查詢還有就是下面的語句:如何將SQL Server 2008 R2中的3整數轉換爲日期格式?
declare @d int = day(getdate())
declare @m int = month(getdate())
declare @y int = year(getdate())
select @d,@m,@y
所以我想@ d,@米,@ÿ轉換爲日期類型(格式),並把它作爲日期參數! 感謝
我的查詢還有就是下面的語句:如何將SQL Server 2008 R2中的3整數轉換爲日期格式?
declare @d int = day(getdate())
declare @m int = month(getdate())
declare @y int = year(getdate())
select @d,@m,@y
所以我想@ d,@米,@ÿ轉換爲日期類型(格式),並把它作爲日期參數! 感謝
試試這個:
declare @d int = day(getdate())
declare @m int = month(getdate())
declare @y int = year(getdate())
DECLARE @myDate DATETIME
SET @myDate = CAST (@y AS NVARCHAR(4))+'-'+CAST (@m AS NVARCHAR(2))+'-'+CAST (@d AS NVARCHAR(2));
select @myDate
如果妳不投的價值,你會得到一些其他日期。
不適用於所有人。如果你在你的代碼上面添加'set language british',那麼你會得到'nvarchar數據類型轉換爲日期時間數據類型導致超出範圍的值。' –
非常感謝,這很有幫助;) – alisina
我的榮幸:)不要忘記接受答案 –
這將做一個時尚便攜:
select DATEADD(year,@y - 2000,DATEADD(month,@m - 1, DATEADD(day,@d - 1,
'20000101')))
但是,如果你的動機只是爲了獲得當前的日期沒有任何時間部分,我只是做:
select DATEADD(day,DATEDIFF(day,0,GETDATE()),0)
或甚至
select CONVERT(date,GETDATE())
你有更好的例子嗎?你爲什麼不使用'getdate()'?你爲什麼要把事情分開,改變數據類型呢?只是爲了它? –