SQL set vs select дает разные результаты при использовании date / char - PullRequest
1 голос
/ 01 августа 2011

У меня проблемы с преобразованием / редактированием дат в MySQL, возможно, будет проще, если я покажу свою проблему:

INPUT:

declare @from_dattim2 datetime

set @from_dattim2 = (select dateadd(day,-30,'2011-07-18'))

print @from_dattim2

ВЫВОД:

Jun 18 2011 12:00AM

что имеет смысл, тогда ...

INPUT:

declare @from_dattim2 datetime

set @from_dattim2 = (select dateadd(day,-30,'2011-07-18'))

print @from_dattim2

select convert (datetime, @from_dattim2, 121)

ВЫВОД:

2011-06-18 00:00:00.000

Это вывод, который я хочу, однако он не работает, когда я пытаюсь установить переменную:

ВХОД:

declare @from_dattim2 datetime

set @from_dattim2 = (select dateadd(day,-30,'2011-07-18'))

set @from_dattim2 = convert (datetime, @from_dattim2, 121)

ВЫВОД:

Jun 18 2011 12:00AM

Есть идеи, как мне установить переменную в формате гггг-мм-дд и т. Д., А не 18 июня и т. Д.?

1 Ответ

1 голос
/ 01 августа 2011

Преобразование не приводит к сохранению даты и времени другим способом.Это влияет только на форматирование при выводе.

Так что вам просто нужно сохранить его как дату и время, когда вы выбираете данные, то есть когда вы выполняете convert () для желаемого форматирования.

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