我有一张包含一些列的表。不幸的是,它不是以最佳方式设计的,写入此表的 REST API 也设计得不好,但我需要一些快速的解决方案。在列dimension_id
(text
数据类型)中,我有以下值:90% 的行包含date
类似2024-01-01
,但其他行包含类似9391
或 的字符串78417
。我现在不想删除这些行(大量数据,大项目,理解和重写需要很长时间,也许它是一个有效值但需要其他列),但我需要过滤它们,因为当您尝试转换和过滤此列时,在此表上创建的视图会下降。
所以我需要抓住所有dimension_id
包含date
模式的行。
我尝试过
select * from table
where TO_DATE(dimension_id, 'YYYY-MM-DD') IS NOT NULL
但这没用。该怎么办?
您可以在此处使用正则表达式方法并匹配模式
^[0-9]{4}-[0-9]{2}-[0-9]{2}$
: