我在db2中有一个包含这些值和列的表。
part location quantity
456 09B4 500
456 94C7 850
456 73B1 700
567 38A5 945
879 MR43F 1241
651 DC234 456
654 C34 546
456 B342 756
567 73B1 800
我需要一个db2的sql语句来做这件事。
SELECT quantity FROM tablename WHERE part = '456'
AND ((first two digits of location are numeric) OR (location LIKE 'MR%')
我不确定如何在db2中执行此操作。我需要部件号为“456”的所有行,并且位置的前两个字符是数字,还有以“MR”开头的行
答案 0 :(得分:1)
我不认为DB2内置了对正则表达式的支持。但是,你可以通过角色比较进行角色扮演:
SELECT quantity
FROM tablename
WHERE part = '456' AND
((left(location, 1) BETWEEN '0' and '9' AND
substr(location, 2, 1) BETWEEN '0' and '9'
) OR
location LIKE 'MR%'
)