SQL 查询以在我的金额字段中查找任何连续的整数

SQL query to find any consecutive integer in my amount field

所以我在 table 中的数据如下所示:

amount  | ID
10918.6 | ABC
9999.99 | BCD
9999.89 | DEF

我需要找到所有连续的数字(9999.99、1111.11、2222.22 等,0000.00 除外)所以从上面的示例输出应该只给出 BCD。我只需要检查 1k 个位置。

如果我有 9999.99 和 99.99 它应该只会给我 9999.99。

此外,如果我有 989999.99,我也必须将其视为我接受的输出

我可以通过使用 where 子句来做到这一点——像“%9999.99”或“%1111.11”这样的列,但我需要找到更好的方法,可能是通过常规 exp 等。

使用取模,您可以去除 10k 位置以上的任何数字,然后检查这些值是否在可接受的列表中。

WHERE
  (amount % 10000) IN (1111.11, 2222.22, 3333.33, 4444.44, 5555.55, 6666.66, 7777.77, 8888.88, 9999.99)

或者...

WHERE
  (amount % 10000) / 1111.11 IN (1,2,3,4,5,6,7,8,9)

这些避免将数字转换为字符串,这通常既不必要也不谨慎。