Таким образом, если предположить, что только эти два формата вашей колонки, то вы можете сделать следующее:
SELECT CONVERT(NVARCHAR(19),CONVERT(DATETIME,DT_APP,100),120)
FROM YourTable
WHERE DT_APP LIKE '%[aA-zZ]%'
ОБНОВЛЕНО
Хорошо, если вы хотите другой столбец, то вы можете сначала создать его, а затем заполнить значения:
-- First create a new column
ALTER TABLE YourTable
ADD DT_APP2 DATETIME;
-- Fill that column with DATETIME values
UPDATE YourTable
SET DT_APP2 = CASE WHEN DT_APP LIKE '%[aA-zZ]%'
THEN CONVERT(DATETIME,DT_APP,100)
ELSE CONVERT(DATETIME,DT_APP,120) END
После этого вы можете проверить столбец, чтобы убедиться, что значения верны, и только после этого вы должны удалить столбец DT_APP
.
UPDATE 2 Если вам просто нужно обновить текущие значения, то просто сделать:
UPDATE YourTable
SET DT_APP = CONVERT(NVARCHAR(19),CONVERT(DATETIME,DT_APP,100),120)
WHERE DT_APP LIKE '%[aA-zZ]%'
Спасибо Lamak, но мне нужно, чтобы преобразовать фактический столбец в гггг-мм-дд HH: MM: SS поэтому у меня есть один унифицированный формат столбца вместо двух. Благодарю. – Djbril
@KaisMalique Обновлено мой ответ – Lamak
Мне нужен он в той же колонке. Мне это нужно в Nvarchar (19). Благодарю. – Djbril