Firebird SQL测试字符串是否在WHERE子句中包含DATE

时间:2018-06-21 19:48:02

标签: sql firebird firebird2.5

有什么方法可以测试字符串是否包含DATE(如31.12.2018)?

喜欢

SELECT date_string FROM table where date_string LIKE '%.*.*%'

还是类似的东西?

1 个答案:

答案 0 :(得分:2)

您可以尝试使用SIMILAR TO比较谓词,该谓词使用SQL正则表达式。但是,根据文本的大小,这可能不是很有效。

以下谓词将起作用:

date_string similar to '%[[:DIGIT:]]{2}.[[:DIGIT:]]{2}.[[:DIGIT:]]{4}%'

有关语法的详细信息,请参见SIMILAR TO上的语言参考。

如果您需要在查询上应用查询逻辑,而不是依赖于解析文本列中的内容,则可能需要重新考虑设计并在实际的SQL DATE中使用显式列。