почему дата не показывает утра или вечера - PullRequest
0 голосов
/ 13 марта 2012

Почему я не получаю время с утра или вечера

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

Возвращает только часть даты?

Ответы [ 4 ]

4 голосов
/ 13 марта 2012

Вам нужно будет изменить CONVERT(NVARCHAR, @Result, 101) на что-то другое. 101 возвращает формат мм / дд / гггг. Подробнее смотрите здесь: http://msdn.microsoft.com/en-us/library/ms187928.aspx

1 голос
/ 13 марта 2012

Вы используете 101 в своем последнем операторе преобразования, и это только дата.

Посмотрите здесь другие варианты. CAST и CONVERT (Transact-SQL)

0 голосов
/ 13 марта 2012

Поскольку ваше окончательное преобразование использует формат, который включает только даты - без компонента времени.

Вместо этого попробуйте следующее:

SET @toReturn = CONVERT(NVARCHAR, @Result, 121)
0 голосов
/ 13 марта 2012

Попробуйте использовать другой формат даты вместо 101 в операторе CONVERT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...