在 SQL Server 2000 数据库中,我有一个表,其中包含 Oracle 数据库日期的字符串表示形式。它们的格式类似于“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 端转换为字符串,然后在 MS SQL 端进行检查/重铸。请参见下面的示例:
;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 回答