我必须执行此查询
select * from mytable where number like '%11%
其中number是数字字段。我找到了Postgres的解决方案:
select * from mytable where CAST(number as text) like '%11%
但如果我尝试在Oracle或MySQL中执行此查询,则会出错。我需要一个
执行此操作的cross-db指令。
答案 0 :(得分:0)
您可以像这样使用LIKE
运算符:
CAST(intField AS varchar(50)) LIKE '%' + CAST(intValue AS varchar(50)) + '%'
使用modulo等其他解决方案需要根据intField
和intValue
的长度进行递归查询,如下例所示:
intValue = 234 & max_length_intField = 6
(intField Between 234000 AND 234999) OR
(FLOOR(intField / 10) Between 23400 AND 23499) OR
(FLOOR(intField / 100) Between 2340 AND 2349) OR
(FLOOR(intField / 1000) = 234)