jjj*_*jjj 6 mysql sql lowercase mariadb uppercase
对不起,如果这是之前问过的问题,但我无法找到答案。如何创建 MySQL select 语句以从数据库中选择所有首字符为小写或大写的字符串。
我通常会使用这样的方法从英文单词数据库中选择 10 个长度超过 8 个字符的随机单词:
SELECT word FROM en_dictionary WHERE CHAR_LENGTH(word)>8 ORDER BY RAND() LIMIT 10
Run Code Online (Sandbox Code Playgroud)
不幸的是,这也会在结果中选择我不想要的大写字母,因为它们通常是诸如城市名称、物种名称等的术语:
所以,我的问题是:有没有办法只选择以小写字母(或大写)开头的单词?
我可以做这样的事情并且它会起作用,但它会是一个非常丑陋的声明:
AND word LIKE BINARY 'a%' AND word LIKE BINARY 'b%' AND word LIKE BINARY 'c%'...
Run Code Online (Sandbox Code Playgroud)
您可以使用Ascii()
功能。它返回输入字符串最左边字符的数值。
对于小写首字符:ASCII 码a
为97,z
为122。所以,第一个字符的 ASCII 码应该在 97 到 122 之间。
SELECT word
FROM en_dictionary
WHERE CHAR_LENGTH(word) > 8
AND ASCII(word) BETWEEN 97 AND 122
ORDER BY RAND() LIMIT 10
Run Code Online (Sandbox Code Playgroud)
为大写首字符:ASCII码A
是65和Z
是90。所以,第一个字符的 ASCII 码应该在 65 到 90 之间。
SELECT word
FROM en_dictionary
WHERE CHAR_LENGTH(word) > 8
AND ASCII(word) BETWEEN 65 AND 90
ORDER BY RAND() LIMIT 10
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7102 次 |
最近记录: |