Sql-哪个字母不在名称中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sql-哪个字母不在名称中相关的知识,希望对你有一定的参考价值。

我还有另一个问题。

我只是sql的初学者。我需要找出字母的哪个字母不在名称列表中作为第一个字符。

我不知道要使用哪个功能?

要查找特定字母,我可以使用like运算符。但是我不知道该用什么来查找不在列表中的字母。...

我必须找到电子邮件地址的不同首字母的查询是:

select left(EmailAddress,1), count(left(EmailAddress,1)
from Customers
order by left(EmailAdress,1)

[没有以U开头的电子邮件地址。但是我可以使用哪个查询来获得该结果?

答案

您需要一张包含所有字母的表格。您可以使用UNION ALL和少FROMSELECT的临时派生表。然后,一种方法是使用相关子查询和NOT EXISTS检查不在任何电子邮件地址开头的字母。

SELECT l.letter
       FROM (SELECT 'a' letter
             UNION ALL
             SELECT 'b' letter
             ...
             SELECT 'y' letter
             UNION ALL
             SELECT 'z' letter) l
       WHERE NOT EXISTS (SELECT *
                                FROM customers c
                                WHERE left(lower(emailaddress), 1) = l.letter);
另一答案

您可以使用介于65(A)和70(F)之间的第一个字符的ascii:

SELECT * FROM Customers WHERE ASCII(UPPER(LEFT(EmailAdress,1))) NOT BETWEEN 65 AND 70;

以上是关于Sql-哪个字母不在名称中的主要内容,如果未能解决你的问题,请参考以下文章

sql 在SQL SERVER中检索以相同字母开头和结尾的名称

c++ 按字母顺序排序名称

使用 SQL 按字母顺序重新排列字符串中的字符 [关闭]

如何将不同字母表中的字符串保存到 SQL?

sql中如何按某字段值的首字母分组?

带开头字母的过滤器名称