我有一个用户表,其中生日列是字符串类型,日期为 pattern =' 19910511' (YYYYMMDD)即可。如何仅使用月和日将此列与今天的日期进行比较。问题是生日列的模式。 我尝试过这样的事情:
SELECT UDATANASCIMENTO as birthDate FROM USERS WHERE to_char(UDATANASCIMENTO, 'MMDD') = to_char(sysdate, 'MMDD')
但它不起作用,因为格式化是问题所在。有什么想法吗?
答案 0 :(得分:0)
...
where substr(udatanascimento, 5) = to_char(sysdate, 'mmdd')
左侧提取从“birthdate”列值的第五个字符开始的子字符串;它是一个字符串到字符串的操作,因此to_char()
与它无关。当然,您需要to_char()
上的sysdate
。