【问题标题】: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]%'
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-21
      • 1970-01-01
      • 2019-02-25
      • 2011-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多