oracle - ORACLE - 查询以获取非特定日期格式的记录
问题描述
我有一个包含值的表:
-----------------------
ID Date
-----------------------
1 2015-06-26
2 1974-05-29 00:00:00
3 2012-01-30 00:00:00
4 2011-12-03 00:00:00
5 1994-06-12
6 2016-04-01
-----------------------
我需要获取那些不是格式的 ID 1974-05-29 00:00:00
。
即,我的输出应该是:
-----------------------
ID Date
-----------------------
1 2015-06-26
5 1994-06-12
6 2016-04-01
-----------------------
请帮忙。
更新: 日期列的数据类型:VARCHAR2(128 CHAR)
解决方案
你只需要检查格式,你可以使用:
select *
from yourTable
where not regexp_like("Date", '\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}')
请注意,这不会检查内容,因此类似的字符串 '2011-12-03 99:99:99'
会被认为是正确的。
推荐阅读
- javascript - 使用正则表达式验证逗号分隔的数字字符串?
- python - Mypy:如何将类型作为函数参数并在该类型上调用类方法
- angular - 角 | ng2-smart-table 如何使用 ServerDataSource 对表进行排序
- django - ModuleNotFoundError:没有名为:crispy_forms 的模块
- c++ - 为什么 ## aka 标记粘贴运算符不适用于 C 和 C++ 中的注释?
- typo3 - femanager - 如何将注册发送到特殊页面(而不仅仅是活动页面)
- javascript - 每个帖子下的 Gatsby 网站上一个和下一个链接
- google-bigquery - BigQuery 中缺少的airline_ontime_data 和weather_geo(应该在样本下)在哪里?
- javascript - vue过滤列表点击
- windows - 在批处理文件的 for 循环中使用关系运算符