簡體   English   中英

通過openquery在SQL Server中查詢MySql-“ 0000-00-00”行未顯示

[英]Querying MySql in SQL Server via openquery - “0000-00-00” rows not showing

我的設置如下。 我有一個MySQL數據庫(5.5.34),已使用ODBC 5.2驅動程序通過ODBC作為“鏈接服務器”鏈接到MS SQL。

MySQL查詢如下:

SELECT
CASE WHEN start = "0000-00-00" THEN NULL else start END as start,
CASE WHEN finish = "0000-00-00" THEN NULL else finish END as finish
FROM students

結果,當在源服務器上的phpmyadmin中運行時,我會得到一堆行,其中一些在開始和/或完成列中帶有日期,有些帶有NULL。 到現在為止還挺好。

現在,我嘗試將其放入openquery並通過SQL Server Management Studio從SQL Server運行整個思路。

SELECT *    
FROM openquery(OLDSYSTEM, '
    SELECT
    CASE WHEN start = "0000-00-00" THEN NULL else start END as start,
    CASE WHEN finish = "0000-00-00" THEN NULL else finish END as finish
FROM students')

現在所有開始和結束都為空。 我對此感到困惑:/如果有人解決了這個問題,我將不勝感激。

事實證明,問題在於MsSQL能夠在不轉換為日期的日期列中存儲日期。 00(月份)和/或00(天)。

換句話說,我們都類似於2014-12-00或2013-00-00的日期-我只是沒有注意到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM