Я пытаюсь добавить вычисляемое поле в существующую таблицу в SSMS, которая преобразует строку в формате YYYYMMDD
в формат даты, но я получаю ошибки, касающиеся того, что строковое поле недопустимо.
Мне требуется вычисляемое поле, поскольку в строковом поле у меня есть значения '00000000' (т. Е. NULL), поэтому я не могу использовать это в вычислениях даты.
Код, который я использую:
ALTER TABLE [TEM].[AssignmentRates]
ADD [Date_Expired] DATE NULL
(SELECT CONVERT([date], CASE WHEN [Expiry_Date]='00000000' THEN NULL ELSE [Expiry_Date] END))
, где [Expiry_Date]
- столбец строки, который я пытаюсь преобразовать, а [Date_Expired]
- имя вычисляемого столбца, который я пытаюсь добавить.
Я получаю эту ошибку:
Неверное имя столбца 'Expiry_Date'
для обоих экземпляров этого имени поля и не может понять, почему. Если я запускаю запрос как отдельный SELECT
, он возвращает требуемые результаты.
Использование псевдонимов таблицы или полного имени базы данных, таблицы и столбца для него также не работают.
Возможно, это что-то невероятно очевидное, но я не смог понять, что это такое.