我想要一个mysql查询。所有包含大写字母的字段

时间:2011-03-11 09:20:31

标签: mysql

我对此查询有点麻烦,谷歌今天不是我的朋友

我包含一个或多个大写字母的表的所有结果。像这样:

SELECT * FROM personal_urls WHERE CONTAINS_UPCASE(vanity_url)

有人知道一个简单的解决方案吗?

谢谢!

5 个答案:

答案 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)