gpt4 book ai didi

mysql - 在 Oracle 中查找时间时为 "day of month must be between 1 and last day of month"

转载 作者:行者123 更新时间:2023-11-29 07:17:20 25 4
gpt4 key购买 nike

这可能相当简单,但我只是不知道如何解决这个问题。

所以这是我正在做的一个简单的查询:

SELECT TO_CHAR(DATE,'DD-MM-YYYY') AS DATE, TO_CHAR(TIME,'HH24:MI') AS TIME,
CODEROOM, GROUP0, GROUP1, GROUP2, GROUP3,
FROM CONCERTS
WHERE DATE = '20-05-16' AND TIME = '00:00' AND CODEROOM = '1'

现在,如果我执行完全相同的查询并删除“AND TIME = '00:00'”,则一切正常,但如果我尝试搜索 TIME,则会引发以下错误:

01847. 00000 -  "day of month must be between 1 and last day of month"

我知道我可以将时间和日期分组在同一列中,我尝试过,但也没有设法修复它。

我真的不知道如何解决这个问题,我知道这可能是因为 Oracle 中的日期存储日期和时间,尽管时间不错,但它可能有一个无效的日期,但如果是这样的话,错误执行查询时会被抛出,我什至无法执行它(我还检查了日期是否有效)

有什么办法可以解决这个问题吗?我一直在查找,但似乎找不到解决方案

提前非常感谢:)

最佳答案

首先,您可能首先需要更改列定义,以便获得有意义的名称,例如 CONCERT_DATECONCERT_TIME

其次,您需要在 where 子句上应用相同的 to_char 函数嗯..

SELECT TO_CHAR(DATE,'DD-MM-YYYY') AS CONCERT_DATE, TO_CHAR(TIME,'HH24:MI') AS CONCERT_TIME,
CODEROOM, GROUP0, GROUP1, GROUP2, GROUP3,
FROM CONCERTS
WHERE TO_CHAR(DATE,'DD-MM-YYYY') = '20-05-2016'
AND TO_CHAR(TIME,'HH24:MI') = '00:00'
AND CODEROOM = '1'

关于mysql - 在 Oracle 中查找时间时为 "day of month must be between 1 and last day of month",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37466084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com