Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Praca z kolumnami MySQL TIMESTAMP w SQL Server

Czasami trzeba wykonać trochę dodatkowej pracy podczas integracji dwóch różnych programów DBMS. Oto obejście, którego użyliśmy, aby pomóc klientowi, który miał problemy podczas próby integracji SQL Server z MySQL.

Klient otrzymywał następujący błąd w SQL Server podczas pracy z kolumną MySQL TIMESTAMP.

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

Podstawowym powodem tego było to, że w bazie danych MySQL klienta nieprawidłowe wartości DATE, DATETIME lub TIMESTAMP były automatycznie konwertowane na zera (tj. „0000-00-00” lub „0000-00-00 00:00:00”) . Zerowy miesiąc lub dzień nie jest prawidłową kombinacją daty lub godziny w programie SQL Server. Aby obejść ten problem, najpierw przekonwertowaliśmy kolumnę wracającą z MySQL na char(20):

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

Wartość kolumny „0000-00-0000:00:00” została następnie przekonwertowana na 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')

Na koniec, aby przywrócić kolumnę „lastupdated” z powrotem do daty i godziny2, uruchomiliśmy:

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. mysql dwukolumnowy klucz podstawowy z automatycznym przyrostem

  2. Jak zachować ukośnik odwrotny podczas ucieczki od cudzysłowów w MySQL — QUOTE()

  3. Próba uzyskania własności nie-obiektowej - CodeIgniter

  4. Funkcje matematyczne MySQL (pełna lista)

  5. Przełączanie awaryjne i powrót po awarii w Amazon RDS