来自 Stack Overflow 的尊敬的 SQL 大师:
环境:甲骨文
我试图理解为什么我不能对包含字符串的表列进行 to_date 选择。注意下例中列名为 Value 的 tableZ 包含一堆字符串,其中一些是正确的格式,例如 6/20/2010 00:00:00。
表Z
| Value |
| __________________ |
| 6/21/2010 00:00:00 |
| Somestring |
| Some Other strings |
| 6/21/2010 00:00:00 |
| 6/22/2010 00:00:00 |
以下作品
SELECT To_Date(c.Value, 'MM/DD/YYYY HH24:MI:SS') somedate
FROM tableX a, tableY b, tableZ c
WHERE Lower(a.name) = 'somedate'
AND a.id = b.other_id
AND b.id = c.new_id
这会返回类似的东西(这很好):
| somedate |
| __________________ |
| 21.06.2010 00:00:00 |
| 21.06.2010 00:00:00 |
| 22.06.2010 00:00:00 |
以下不起作用
SELECT To_Date(c.Value, 'MM/DD/YYYY HH24:MI:SS') somedate
FROM properties$aud a, template_properties$aud b, consumable_properties$aud c
WHERE Lower(a.name) = 'somedate'
AND a.id = b.property_id
AND b.id = c.template_property_id
AND To_Date(c.Value, 'MM/DD/YYYY HH24:MI:SS') IS NOT NULL
回来了:
ORA-01861: 文字与格式字符串不匹配
我在这里想念什么?只是一个简短的说明:
...
AND b.id = c.template_property_id
AND To_Date(c.Value, 'DD.MM.YYYY HH24:MI:SS') IS NOT NULL
也不行。
谢谢!!
目标是能够对 c.value 进行日期查询以选择日期范围。