SQL查询错误:日期格式图片在将整个输入转换为字符串之前结束

SQL查询错误:日期格式图片在将整个输入转换为字符串之前结束,sql,oracle,datetime,to-date,Sql,Oracle,Datetime,To Date,我运行以下查询时出错: to_date('30-APR-19 09.53.35.000000 AM', 'DD-Mon-yy hh24.mi.ss') 日期格式图片在将整个输入转换为字符串之前结束 请给我一个帮助您遇到的主要问题是,您的日期和时间字符串无法使用TO_date解析-您需要使用TO_时间戳。问题是TO_DATE无法识别用于处理小数秒的FFn格式说明符。这是有意义的,因为日期值仅精确到秒。所以你需要使用 TO_TIMESTAMP('30-APR-19 09.53.35.000000

我运行以下查询时出错:

 to_date('30-APR-19 09.53.35.000000 AM', 'DD-Mon-yy hh24.mi.ss')
日期格式图片在将整个输入转换为字符串之前结束


请给我一个帮助

您遇到的主要问题是,您的日期和时间字符串无法使用TO_date解析-您需要使用TO_时间戳。问题是TO_DATE无法识别用于处理小数秒的
FFn
格式说明符。这是有意义的,因为日期值仅精确到秒。所以你需要使用

TO_TIMESTAMP('30-APR-19 09.53.35.000000 AM', 'DD-MON-YY HH.MI.SS.FF6 AM')
它将返回一个时间戳值。如果您真的需要它是一个日期而不是一个时间戳,您可以使用

CAST(TO_TIMESTAMP('30-APR-19 09.53.35.000000 AM', 'DD-MON-YY HH.MI.SS.FF6 AM') AS DATE)

您遇到的主要问题是无法使用TO\u date解析日期和时间字符串-您需要使用TO\u时间戳。问题是TO_DATE无法识别用于处理小数秒的
FFn
格式说明符。这是有意义的,因为日期值仅精确到秒。所以你需要使用

TO_TIMESTAMP('30-APR-19 09.53.35.000000 AM', 'DD-MON-YY HH.MI.SS.FF6 AM')
它将返回一个时间戳值。如果您真的需要它是一个日期而不是一个时间戳,您可以使用

CAST(TO_TIMESTAMP('30-APR-19 09.53.35.000000 AM', 'DD-MON-YY HH.MI.SS.FF6 AM') AS DATE)

您可以直接使用
to_date
功能,并且可以使用以下方法忽略毫秒:

to_date('30-APR-19 09.53.35.000000 AM', 'DD-MON-YY HH.MI.SS.###### AM')
#的数量等于点(.)后0的数量


干杯

您可以直接使用
to_date
功能,可以使用以下方法忽略毫秒:

to_date('30-APR-19 09.53.35.000000 AM', 'DD-MON-YY HH.MI.SS.###### AM')
#的数量等于点(.)后0的数量



干杯

你好,我正在使用Oracle。感谢您的帮助仍然值得一提:小时可以显示为AM/PM或24小时格式。你的输入有AM(你提到它也可以是PM)。那么,不管其他什么,您的格式模型不应该是hh24.mi….-应该是。。。hh.mi.ss AM(如Bob Jarvis所示)。您好,我正在使用Oracle。感谢您的帮助仍然值得一提:小时可以显示为AM/PM或24小时格式。你的输入有AM(你提到它也可以是PM)。那么,不管其他什么,您的格式模型不应该是hh24.mi….-应该是。。。hh.mi.ss AM(正如Bob Jarvis所示)。你好,Bob Jarvis,非常感谢您的帮助。到_时间戳('19年4月30日09.53.35.000000上午','DD-MON-YY HH.MI.SS.FF6上午')这是完美的工作。。。如何将PM添加到此代码中,因为我需要运行的查询也将包含PM的时间?这样我将得到一个错误“缺少右括号”。此外,我还可以如何将PM添加到代码中。CAST(TO_TIMESTAMP('30-APR-19 09.53.35.000000 AM','DD-MON-YY HH.MI.SS.FF6 AM')作为日期
AM
格式说明符将处理日期字符串中的
PM
。由此我得到一个错误“缺少右括号”。CAST(TO_TIMESTAMP('30-APR-19 09.53.35.000000 AM','DD-MON-YY HH.MI.SS.FF6 AM'))作为DATE@amy您错过了日期后的结束括号。
as date
。这是
cast(xxx as yyy)
。你好,鲍勃·贾维斯,非常感谢您的帮助。TO_时间戳('30-APR-19 09.53.35.000000 AM','DD-MON-YY HH.MI.SS.FF6 AM'))这是完美的工作…我如何将PM添加到这段代码中,因为我需要运行的查询也将包含PM的时间?有了这一点,我将得到一个错误“缺少右括号”。此外,我如何将PM添加到代码中。CAST(to_TIMESTAMP('30-APR-19 09.53.35.000000 AM','DD-MON-YY HH.MI.SS.FF6 AM')作为日期
AM
格式说明符将处理日期字符串中的
PM
。由此我得到一个错误“缺少右括号”。强制转换(到时间戳('30-APR-19 09.53.35.000000 AM','DD-MON-YY HH.MI.SS.FF6 AM'))作为DATE@amy您在
as date
之后缺少结束括号。它是
强制转换(xxx as yyy)
。感谢帮助将尝试此:-)感谢帮助将尝试此:-)