【发布时间】:2010-04-26 17:58:49
【问题描述】:
我正在尝试格式化日期:
FORMAT(table.TCKT.TCKT_ISS_DATE, 'YYYY') AS TICKETYEAR
但我收到以下错误:
ORA-00904:“格式”:无效标识符
现在日期显示完整的时间戳。有关如何解决此问题的任何建议,或任何其他将日期格式化为仅显示四位数年份的方法?
【问题讨论】:
我正在尝试格式化日期:
FORMAT(table.TCKT.TCKT_ISS_DATE, 'YYYY') AS TICKETYEAR
但我收到以下错误:
ORA-00904:“格式”:无效标识符
现在日期显示完整的时间戳。有关如何解决此问题的任何建议,或任何其他将日期格式化为仅显示四位数年份的方法?
【问题讨论】:
使用此功能:
TO_CHAR(table.TCKT.TCKT_ISS_DATE, 'YYYY') AS TICKETYEAR
【讨论】:
您想在这里使用TO_CHAR 而不是FORMAT,如下所示:
TO_CHAR(table.TCKT.TCKT_ISS_DATE, 'YYYY') AS TICKETYEAR
Oracle 使用TO_CHAR 进行字符串转换,you can see here for additional format options。
【讨论】:
还可以选择使用EXTRACT(),这是 ANSI 标准且可移植的:
EXTRACT(YEAR FROM table.TCKT.TCKT_ISS_DATE) AS ticketyear
【讨论】: