gpt4 book ai didi

sql-server - SQL Server,在 LIKE 语句中组合 % 和 [] 通配符

转载 作者:行者123 更新时间:2023-12-02 16:00:09 25 4
gpt4 key购买 nike

在 t-sql 中,是否有一种方法可以在 like 语句中进行模式匹配,以便您可以在给定的集合中搜索 1 个或多个字符?

具体来说,我正在尝试提出一个 LIKE 语句,该语句将返回以 1 个或多个字母开头并以 1 个或多个数字结尾的字符串。

所以这些字符串应该匹配:

  • abcd1234
  • a1
  • abcdef2
  • ab123456

这些字符串不应该匹配:

  • abcd
  • 1234
  • abcd1234abcd
  • 1abcd1

我知道您可以使用 % 通配符来匹配包含 0 个或多个字符的字符串,并且可以使用方括号[] 来匹配给定集合中的单个字符。但是有没有办法将这些组合起来,以便我可以匹配给定集合中的 1 个或多个字符?

像这样的东西会很好,但当然行不通:

WHERE ColumnName LIKE '[%a-z][%0-9]'

有谁知道这个问题的解决办法吗?或者这在 SQL Server 中是不可能的吗?

谢谢,吉姆

最佳答案

就像模式匹配非常有限一样,它不允许使用普通的正则表达式。

参见here了解详情。

根据您的需要使用:

WHERE ColumnName LIKE '[a-z]%[0-9]'

这将匹配任何字母,后跟任何内容,后跟数字。 SQL 将强制字母和数字位于字符串的两端,因为在我们的 [] 匹配集之前或之后没有模式或文字字符。

关于sql-server - SQL Server,在 LIKE 语句中组合 % 和 [] 通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27569788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com