我对此查询有点麻烦,谷歌今天不是我的朋友
我包含一个或多个大写字母的表的所有结果。像这样:
SELECT * FROM personal_urls WHERE CONTAINS_UPCASE(vanity_url)
有人知道一个简单的解决方案吗?
谢谢!
答案 0 :(得分:8)
试
SELECT *
FROM personal_urls
WHERE CAST(vanity_url AS BINARY) RLIKE '[A-Z]';
答案 1 :(得分:3)
我认为RLIKE字符串功能可以提供帮助。我们可以使用regexp [A-Z]来测试大写字母的字符串。
答案 2 :(得分:1)
您可以尝试
SELECT DISTINCT(`columnName`) FROM personal_urls WHERE `columnName` LIKE BINARY Upper(`columnName`)
答案 3 :(得分:1)
我自己找到了答案。
SELECT * FROM personal_urls WHERE vanity_url REGEXP BINARY '[A-Z]'
答案 4 :(得分:1)
我知道这已经过时了,但今天我遇到了它,所以我会把这个留给谷歌的任何人。
您可以将每条记录与其自身的小写版本进行比较。唯一的细微之处在于,如果您使用不区分大小写的排序规则,那么常规字符串比较不区分大小写(如果您提出此问题,则可能就是这种情况)。将值与二进制值与BINARY
关键字进行比较会强制区分大小写。
SELECT * FROM personal_urls WHERE vanity_urls != BINARY LOWER(vanity_urls)