Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengubah kolom nvarchar menjadi format Tanggal

Jadi, dengan asumsi bahwa hanya itu dua format kolom Anda, maka Anda dapat melakukan hal berikut:

SELECT CONVERT(NVARCHAR(19),CONVERT(DATETIME,DT_APP,100),120)
FROM YourTable
WHERE DT_APP LIKE '%[aA-zZ]%'

DIPERBARUI

Ok, jika ingin kolom yang lain, maka bisa dibuat dulu lalu isikan nilainya:

-- 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

Setelah itu, Anda dapat memeriksa kolom untuk melihat apakah nilainya benar dan baru setelah itu Anda harus menghapus DT_APP kolom.

PERBARUI 2 Jika Anda hanya perlu memperbarui nilai saat ini, lakukan saja:

UPDATE YourTable
SET DT_APP = CONVERT(NVARCHAR(19),CONVERT(DATETIME,DT_APP,100),120)
WHERE DT_APP LIKE '%[aA-zZ]%'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Beberapa kondisi dalam klausa WHERE

  2. Permintaan SQL yang mendapatkan semua kode pos (alamat) dalam radius 20 mil dari kode pos yang diberikan

  3. Fungsi SQL Server ROUND():Untuk Apa dan Mengapa Anda Harus Peduli?

  4. Tambahkan nilai default ke kolom yang ada berdasarkan If Then Else sql server 2008

  5. Dapatkan waktu datetime menggunakan T-SQL?