Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bekerja dengan Kolom MySQL TIMESTAMP di SQL Server

Terkadang Anda perlu melakukan sedikit pekerjaan ekstra saat mengintegrasikan dua program DBMS yang berbeda. Berikut adalah solusi yang kami gunakan untuk membantu pelanggan yang mengalami masalah saat mencoba mengintegrasikan SQL Server dengan MySQL.

Pelanggan mendapatkan kesalahan berikut di SQL Server saat bekerja dengan kolom MySQL TIMESTAMP.

select * from openquery(MYSQL, 'select lastupdated from carriers')
Error converting data type DBTYPE_DBTIMESTAMP to datetime2.

Alasan mendasar untuk ini adalah bahwa dalam database MySQL pelanggan, nilai DATE, DATETIME, atau TIMESTAMP yang tidak valid secara otomatis dikonversi ke nol (yaitu '0000-00-00' atau '0000-00-00 00:00:00') . Bulan atau hari nol bukanlah kombinasi tanggal atau waktu yang valid di SQL Server. Untuk mengatasinya, pertama-tama kita mengonversi kolom yang kembali dari MySQL menjadi char (20):

select * from openquery(MYSQL, 'select cast(lastupdated as char(20) ) as
lastupdated from carriers')

Nilai kolom '0000-00-0000:00:00' kemudian diubah menjadi NULL:

select case lastupdated when '0000-00-00 00:00:00' then null else lastupdated
end as lastupdated from openquery(MYSQL, 'select cast(lastupdated as char(20) )
as lastupdated from carriers')

Terakhir, untuk mengembalikan kolom "lastupdated" ke datetime2, kami menjalankan:

select cast(x.lastupdated as datetime2) as lastupdated from ( select case
lastupdated when '0000-00-00 00:00:00' then null else lastupdated end as
lastupdated from openquery(MYSQL, 'select cast(lastupdated as char(20) ) as
lastupdated from carriers limit 100') ) x

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WEEKDAY() Contoh – MySQL

  2. Pilih 10 Catatan Teratas untuk Setiap Kategori di MySQL

  3. Tanggal dalam URL hh/bb/tttt

  4. Cara Menghitung Pengguna Aktif Harian (DAU) di MySQL

  5. Akses Server MySQL dari Jarak Jauh Melalui SSH Tunnel