为什么我没有得到时间上午或下午为什么不显示日期上午或下午
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
只返回日期部分?
只要你知道,并不是所有的时区从UTC的偏移小时 - 你可能需要使用分钟或更小的东西。另外,你是否真的想保持这个字符串?日期/时间/时间戳最好留在这些类型中。如果'@ utcOffset'为'0',你可能还想考虑早点返回。 – 2012-03-13 16:22:43