为什么我没有时间上午或下午
DECLARE @inputDate varchar(25)
SELECT @inputDate = '3/13/2012 13:00'
-- Declare the return variable here
DECLARE @Result DATETIME
DECLARE @toReturn NVARCHAR(25)
-- Add the T-SQL statements to compute the return value here
SET @inputDate = REPLACE(@inputDate, '24:00', '00:00')
SET @Result = null
SET @toReturn = null
IF (ISDATE(@inputDate)=1)
BEGIN
DECLARE @utcOffset int
SET @utcOffset = -(DATEDIFF(HH, GETUTCDATE(), GETDATE()))
SET @Result = DATEADD(HH, @utcOffset, @inputDate)
SET @toReturn = CONVERT(NVARCHAR, @Result, 101)
END
-- Return the result of the function
SELECT @toReturn
仅返回日期部分?
答案 0 :(得分:4)
您需要将CONVERT(NVARCHAR, @Result, 101)
更改为其他内容。 101
返回mm / dd / yyyy格式。有关详情,请参阅此处:http://msdn.microsoft.com/en-us/library/ms187928.aspx
答案 1 :(得分:1)
您在上一个转换语句中使用101
,这只是日期。
在这里查看其他选项。 CAST and CONVERT (Transact-SQL)
答案 2 :(得分:0)
在CONVERT运算符中尝试使用其他日期格式而不是101。
答案 3 :(得分:0)
因为您的最终转化使用的格式只包含日期 - 没有时间组件。
请尝试以下操作:
SET @toReturn = CONVERT(NVARCHAR, @Result, 121)