SQL Server 2000 DBには、OracleDBの日付の文字列表現を保持するテーブルがあります。それらは「16-MAY-12」のようにフォーマットされています。これらを日時に変換する必要があります。一致する変換スタイル番号が見つからないようです。また、入力形式を指定できる関数も見つかりません。何か案は?
質問する
12701 次
2 に答える
2
これは私にとってはうまくいくようです:
SELECT CONVERT(DATETIME, '16-MAY-12');
また、を使用TO_CHAR()
してOracleの値をよりSQL Serverに適した形式(最良の形式YYYYMMDD
)に変換してから、暗い側から引き出すこともできます。
于 2012-05-16T18:49:59.020 に答える
0
Aaronのアドバイスに従い、Oracle側で文字列にキャストしてから、MSSQL側でチェック/再キャストを実行しました。以下の例を参照してください。
;WITH SOURCE AS (
SELECT * FROM openquery(lnk,
'SELECT
TO_CHAR(OFFDATE , ''YYYY-MM-DD HH24:MI:SS'') AS OFFDATE,
FROM
ORACLE_SOURCE')),
SOURCE_TRANSFORM AS
(
SELECT
CASE
WHEN ISDATE(OFFDATE) = 1 THEN CAST(OFFDATE AS DATETIME)
ELSE NULL END AS OFFDATE
FROM
SOURCE
)
SELECT * FROM SOURCE_TRANSFORM
于 2014-10-29T16:20:34.000 に答える