SQL选择邮政编码的前两个字符

时间:2014-12-12 12:03:06

标签: sql where wildcard sql-like

我需要选择我可以做的邮政编码的前两个字符。 E.G“BW”“CW”等。

但是当我需要选择一些在第一个字母后面有数字的邮政编码,例如“B1,B2,B3,B4”时,我该如何做?

我认为我只需要一个通配符来表示数值,因此它只显示“B1,B2”而不是“BW,BT”等。

谢谢。

2 个答案:

答案 0 :(得分:2)

在大多数数据库中,您可以使用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'

答案 1 :(得分:0)

如果您使用的是SQL Server,则可以执行以下操作:

WHERE postcode LIKE '[A-Z][0-9]%'

这会匹配以B1B2等开头的邮政编码,而不匹配以BWBT开头的邮政编码等。