日期转换问题 ORACLE SQL
Date Conversion Issues ORACLE SQL
这将是一个全新的问题,但我的 google-fu 没有及时让我找到任何东西,所以我想我会问你
正在尝试执行此查询:
SELECT *
FROM SYSADM.PS_ADM_APPL_PROG
WHERE SCC_ROW_ADD_DTTM>=CAST(TO_CHAR(COALESCE('11-30-2019', '11-30-2019')) AS TIMESTAMP)
OR SCC_ROW_UPD_DTTM>CAST(TO_CHAR(COALESCE('11-30-2020', '11-30-2020')) AS TIMESTAMP)
但是谓词列的格式如下:
04-OCT-12 06.21.14.553375000 AM
我猜我的 TO_CHAR 和 CAST 是不够的,因为错误:
ORA-01843: not a valid month
01843. 00000 - "not a valid month"
有人碰巧知道如何克服这个问题吗?
使用 DATE
常量:
WHERE SCC_ROW_ADD_DTTM >= DATE '2019-11-30' OR
SCC_ROW_UPD_DTTM > DATE '2019-11-30'
您没有时间组件,因此 date
文字似乎就足够了。
如果有变量,可以使用COALESCE()
:
WHERE SCC_ROW_ADD_DTTM >= COALESCE(:datevar, DATE '2019-11-30') OR
SCC_ROW_UPD_DTTM > COALESCE(:datevar, DATE '2019-11-30')
这将是一个全新的问题,但我的 google-fu 没有及时让我找到任何东西,所以我想我会问你
正在尝试执行此查询:
SELECT *
FROM SYSADM.PS_ADM_APPL_PROG
WHERE SCC_ROW_ADD_DTTM>=CAST(TO_CHAR(COALESCE('11-30-2019', '11-30-2019')) AS TIMESTAMP)
OR SCC_ROW_UPD_DTTM>CAST(TO_CHAR(COALESCE('11-30-2020', '11-30-2020')) AS TIMESTAMP)
但是谓词列的格式如下:
04-OCT-12 06.21.14.553375000 AM
我猜我的 TO_CHAR 和 CAST 是不够的,因为错误:
ORA-01843: not a valid month
01843. 00000 - "not a valid month"
有人碰巧知道如何克服这个问题吗?
使用 DATE
常量:
WHERE SCC_ROW_ADD_DTTM >= DATE '2019-11-30' OR
SCC_ROW_UPD_DTTM > DATE '2019-11-30'
您没有时间组件,因此 date
文字似乎就足够了。
如果有变量,可以使用COALESCE()
:
WHERE SCC_ROW_ADD_DTTM >= COALESCE(:datevar, DATE '2019-11-30') OR
SCC_ROW_UPD_DTTM > COALESCE(:datevar, DATE '2019-11-30')