大虾们,我现在有一个问题,就是要实现一个这样的模糊查询.
字段type 要匹配 800.004.XX ~ 800.010.XX 和 922.xx
xx 表示为任意数字.
就是说只要是符合条件的就读出来.
这条sql语句的该怎么写呢???
字段type 要匹配 800.004.XX ~ 800.010.XX 和 922.xx
xx 表示为任意数字.
就是说只要是符合条件的就读出来.
这条sql语句的该怎么写呢???
http://www.builder.com.cn/2004/0630/124759.shtml
where type like '800.004.__' or type like '800.010.__' or type like '922.__.__'
B.*
FROM
((SELECT
A.*,
TRANSLATE(A.TEMP_A,'0123456789', '9999999999') AS COL1
FROM TEMP A
WHERE LENGTH(A.TEMP_A)=10)
UNION
(SELECT
A.*,
SUBSTR(A.TEMP_A, 0, 4) || TRANSLATE(SUBSTR(A.TEMP_A, 5, 2),'0123456789', '9999999999') AS COL1
FROM TEMP A
WHERE LENGTH(A.TEMP_A)=6)) B
WHERE
( SUBSTR(B.TEMP_A, 0, 3) = '800'
AND SUBSTR(B.TEMP_A, 4, 1) = '.'
AND SUBSTR(B.TEMP_A, 5, 3) >= '004'
AND SUBSTR(B.TEMP_A, 5, 3) <= '010'
AND SUBSTR(B.TEMP_A, 8, 1) = '.'
AND B.COL1 = '999.999.99') OR
B.COL1 = '922.99'
使用正则表达式,以上问题的处理会更简单