Обновить столбец даты и формат даты до того же шаблона - PullRequest
0 голосов
/ 29 декабря 2011

У меня есть даты в столбце базы данных, но формат даты не совпадает. Некоторые из них mm-dd-yyyy, а некоторые mm.dd.yy или другие. Как мне отформатировать его в тот же тип, используя запрос?

Я использую SQL Server 2008.

1 Ответ

1 голос
/ 29 декабря 2011

Моя рекомендация будет:

  1. Добавьте столбец типа DATE в таблицу:

    ALTER TABLE dbo.YourTable ADD NewDateColumn DATE
    
  2. Обновите таблицу, чтобы преобразовать эти значения varchar в DATE:

    UPDATE dbo.YourTable
    SET NewDateColumn = CAST(YourOldColumn AS DATE)
    WHERE NewDateColumn IS NULL AND ISDATE(YourOldColumn) = 1
    
  3. Отбросьте этот старый столбец:

    ALTER TABLE dbo.YourTable DROP COLUMN YourOldColumn
    

Отныне - используйте только новый столбец DATE.

Вы можете отформатировать его в любое строковое представление, которое поддерживается в SQL Server, используя функцию CONVERT

Получив этот столбец DATE, вы можете вывести его в любом формате строки:

SELECT
   CONVERT(VARCHAR(20), GETDATE(), 101) 'US format', 
   CONVERT(VARCHAR(20), GETDATE(), 102) 'ANSI format', 
   CONVERT(VARCHAR(20), GETDATE(), 104) 'German format'

дает вам:

US format   ANSI format German format
12/29/2011  2011.12.29  29.12.2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...