gpt4 book ai didi

用于字母搜索的 MySQL 查询

转载 作者:行者123 更新时间:2023-11-29 01:15:07 24 4
gpt4 key购买 nike

如何检索以A OR B OR C 开头的星号记录,

我刚试过这个查询

SELECT * FROM `test_tbl` WHERE Left(cus_name, 1) = 'a'

---> display all customer name starting with character a

我又加了一个条件,就是

SELECT * FROM `test_tbl` WHERE Left(cus_name, 1) = 'a' or Left(cus_name, 1) = 'b'

--->It displayed all customer name starting with character a and in some records middle i saw some name starting with b also,

我想要的是,我想要提取记录,名称以 ABC 开头,

而且它应该按字母顺序排序,

我也尝试了下面的查询。

SELECT * FROM `test_tbl` WHERE Left(cus_name, 1) REGEXP '^[^a-z]+$';

上面的渲染记录是,只有两条以A开头的记录,

上面的问题是做字母分页,

谢谢

最佳答案

你可以试试:

SELECT * FROM `test_tbl` WHERE cus_name REGEXP '^[abc]';

它将列出 cus_nameabc 开头的所有行。

使用的正则表达式是^[abc]:

  • ^ : 是开始 anchor
  • [..] :是字符类。所以 [abc] 匹配 abc。等同于(a|b|c)

您使用的正则表达式:^[^a-z]+$

  • 第一个^是起始 anchor 。
  • [..] 是字符类。
  • 字符类里面的^否定它。所以 [^abc] 是任意的三者以外的性格列出。
  • + 是一个或的量词更多。
  • $ 是结束 anchor 。

你实际上是在说:给我所有 cus_name 包含一个或多个不能是任何小写字母的字母的行。

关于用于字母搜索的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3975472/

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