首页 > 解决方案 > Firebird 2.5x 字符串中的 CAST 日期

问题描述

我想选择与今天具有相同日期的所有记录。

保存日期的实际字段具有这种格式

31.05.18-31.06.18

但也可以是这样

31.05.2018-31.06.2018

甚至可以保存其他数据或没有数据

所以我需要一种强大的方法来选择“-”之后的日期并将其与“现在”进行比较,如果没有“-02.06.2018”(今天),那么它不应该选择记录。

我到目前为止:

SELECT
*
FROM
  Table
WHERE
  FELD1 IS NOT NULL AND
  NOT FELD1 = '' AND
  FELD1 LIKE '%-%' AND
  CAST(iif(Position('-' IN FELD1) IS NULL OR Position('-' IN FELD1) = 0, '',     Right(FELD1, Position('-' IN FELD1) - 1)) AS DATE),
  Position('-' IN FELD1) < 'NOW'

标签: sqlfirebirdfirebird2.5

解决方案


推荐阅读