преобразование даты в getdate - PullRequest
0 голосов
/ 27 декабря 2010

У меня проблема с преобразованием столбца с датой и временем, и мне нужно преобразовать его в getdate.

Например, столбец A (datetime, null), и этот столбец содержит значение, некоторые правильные значения с помощью getdate, а некоторые значения имеютвот так 1900-01-01 15: 32: 00.000.Мне нужна помощь в изменении значений на обычные значения getdate.И некоторые поля в этих столбцах также имеют значения NULL.

Заранее спасибо, Шашра

Ответы [ 2 ]

1 голос
/ 27 декабря 2010

Несколько вещей:

GetDate () - это функция, которая возвращает текущую дату и время.Да, оно включает текущее время.

Приведенный вами пример выглядит как «чистое» время (т. Е. Компонент даты недоступен).Если это реальные данные, то каким-то образом вы получаете десятичные значения формы 0. #### записанные в этом поле.Конечно, у вас могут быть реальные данные с этой даты, или вы просто изобрели этот пример для этого вопроса.

Наконец, если вам действительно нужно избавиться от компонента времени, чтобы у вас был'чистая' дата, попробуйте конвертировать (datetime, convert (nvarchar (50), getdate (), 101)).Внутренний преобразователь создает текст в формате мм / дд / гггг, а внешний преобразователь превращает его обратно в дату в формате гггг-мм-дд 00: 00: 00.000

1 голос
/ 27 декабря 2010
  • Вы не будете хранить выходные данные GETDATE (), если хотите, чтобы они каждый раз отличались.Вы бы сделали SELECT col1, col1, GETDATE() AS Now FROM Mytable...

  • Не существует безопасного способа отличить «настоящие» вейки от «ложного» значения, не имея произвольных условий, таких как «что-либо» за последний месяцвсе в порядке ".«1900-01-01 15: 32: 00.000» является допустимым значением даты и времени

Если вы имеете в виду «игнорировать значения, где только бит времени, а не дата (01 января 1900), то чтоо:

SELECT 
  col1, col2, 
  CASE WHEN DateTimeCol <> '1900-01-01 15:32:00.000' THEN DateTimeCol ELSE GETDATE() END,
  CASE WHEN DateTimeCol > '1901-01-01' THEN DateTimeCol ELSE GETDATE() END,
  ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...