ORA-00904: "FORMAT": 无效标识符

Posted

技术标签:

【中文标题】ORA-00904: "FORMAT": 无效标识符【英文标题】:ORA-00904: "FORMAT": invalid identifier 【发布时间】:2010-04-26 17:58:49 【问题描述】:

我正在尝试格式化日期:

FORMAT(table.TCKT.TCKT_ISS_DATE, 'YYYY') AS TICKETYEAR

但我收到以下错误:

ORA-00904:“格式”:无效标识符

现在日期显示完整的时间戳。有关如何解决此问题的任何建议,或任何其他将日期格式化为仅显示四位数年份的方法?

【问题讨论】:

【参考方案1】:

使用此功能:

TO_CHAR(table.TCKT.TCKT_ISS_DATE, 'YYYY') AS TICKETYEAR 

【讨论】:

【参考方案2】:

您想在这里使用TO_CHAR 而不是FORMAT,如下所示:

TO_CHAR(table.TCKT.TCKT_ISS_DATE, 'YYYY') AS TICKETYEAR

Oracle 使用TO_CHAR 进行字符串转换,you can see here for additional format options。

【讨论】:

【参考方案3】:

还可以选择使用EXTRACT(),这是 ANSI 标准且可移植的:

EXTRACT(YEAR FROM table.TCKT.TCKT_ISS_DATE) AS ticketyear

【讨论】:

以上是关于ORA-00904: "FORMAT": 无效标识符的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 'ORA-00904: "Y": invalid identifier 00904. 00000 - "%s: invalid identifier"

ORA-00904: 无效标识符 00904. 00000 - "%s: 无效标识符"

ORA-00904: "CEILING": ORACLE 11G 中的标识符无效

ORA-00904: "DAYS": 无效标识符

ORA-00904: "pass": 无效的标识符

ORA-00904: "PREV_TEMP": 带有 LAG 函数的无效标识符