Oracle 11g查询报错:ORA-01722: 无效数字。求解!

2024-11-16 19:01:07
推荐回答(2个)
回答1:

TRUNC没法处理字符串,只能处理时间和数字,建议用substr截取字符串吧

substr(string1,1,2)
string1 需要截取的字符串 1表示起始位置 2 表示截取长度

按理说TO_CHAR(hiredate,'year')就能直接用了,或者用TO_CHAR(hiredate,'yyyy')

回答2:

SUM(DECODE(TRUNC(TO_CHAR(hiredate,'year'),'yyyy'),'1980',1,0))
直接用
SUM(TO_CHAR(hiredate,'yyyy'),'1980',1,0)