Vì vậy, giả sử rằng đó là hai định dạng duy nhất của cột, thì bạn có thể làm như sau:
SELECT CONVERT(NVARCHAR(19),CONVERT(DATETIME,DT_APP,100),120)
FROM YourTable
WHERE DT_APP LIKE '%[aA-zZ]%'
ĐÃ CẬP NHẬT
Được rồi, nếu bạn muốn một cột khác, thì trước tiên bạn có thể tạo nó rồi điền các giá trị:
-- 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
Sau đó, bạn có thể kiểm tra cột để xem các giá trị có chính xác hay không và chỉ khi đó bạn mới nên xóa DT_APP
cột.
CẬP NHẬT 2 Nếu bạn chỉ cần cập nhật các giá trị hiện tại, thì chỉ cần thực hiện:
UPDATE YourTable
SET DT_APP = CONVERT(NVARCHAR(19),CONVERT(DATETIME,DT_APP,100),120)
WHERE DT_APP LIKE '%[aA-zZ]%'