sql >> データベース >  >> RDS >> Sqlserver

dbtype_dbdate を日付に変換中にエラーが発生しました

    これがお役に立てば幸いです (私は SQL Server 2012 を使用していません)。
    ODBC が db2 にリンクしている場合、日付範囲はサポートされていません。 「0001-01-01」、キャストする必要があります。通常はこれで動作します。

    SELECT * 
    FROM   OPENQUERY(LINKEDSERVERNAME, 'SELECT Product, 
                                           CAST(DateLastReceipt AS CHAR(10))
                                    FROM   ProductTable')
    

    結果を日付として表示したい場合は、CASE を使用して、無効な日付をデフォルトの日付に置き換えてください。

    SELECT *
    FROM   OPENQUERY(LINKEDSERVERNAME, 'SELECT Product, 
                                   ,CASE WHEN DateLastReceipt AS CHAR(10)) = ''0001-01-01''
                                           THEN CURRENT_DATE
                                         ELSE DateLastReceipt 
                                         END
                                    FROM   ProductTable')
    

    CURRENT_DATE を CURRENT_TIMESTAMP に変更する必要がある場合があり、CASE 構成はデータベース サーバーと要件によって異なります




    1. データベースパフォーマンス監視設定のグレーディング

    2. 私のウェブホスティング会社は、PHPコードに何か問題があると言っています

    3. プリペアドステートメントを使用して、挿入された行のIDを返すにはどうすればよいですか?

    4. Oracle PL/SQL開発者を使用してテストデータを生成する