【问题标题】:SQL Select First Two Characters Of PostcodesSQL 选择邮政编码的前两个字符
【发布时间】:2014-12-12 12:03:05
【问题描述】:
我需要选择我可以做的邮政编码的前两个字符。
例如“BW”“CW”等
但是当我需要选择一些在第一个字母后有数字的邮政编码时,例如“B1、B2、B3、B4”,我该怎么做?
我想我只需要一个数字值的通配符,所以它只会显示“B1,B2”而不是“BW,BT”等。
谢谢。
【问题讨论】:
标签:
sql
where
wildcard
sql-like
【解决方案1】:
在大多数数据库中,您会使用left():
select left(postcode, 2)
有些需要使用substr():
select substr(postcode, 1, 2)
然后,要获取号码,您可以添加:
where substr(postcode, 2, 1) between '0' and '9'
或:
where substring(postcode, 2, 1) between '0' and '9'
【解决方案2】:
如果您使用的是 SQL Server,您可以这样做:
WHERE postcode LIKE '[A-Z][0-9]%'
这将匹配以B1 或B2 等开头的邮政编码,而不匹配以BW 或BT 等开头的邮政编码。