0

使用 MySQL 时,如何获取 name 列全部为大写的所有行?

由于相等不区分大小写,我不太确定如何执行此操作。

4

3 回答 3

4

如果您的列排序规则不区分大小写,您可以在查询中覆盖它:

SELECT * FROM my_table WHERE my_column COLLATE latin1_bin = UPPER(my_column);

COLLATE 子句语法。

于 2009-09-23T17:57:59.973 回答
2

SELECT * FROM my_table REGEXP '^[[:upper:]]+$';

于 2009-09-23T18:43:26.417 回答
1
SELECT * FROM table where binary your_field REGEXP '^[[:upper:]]+$'

相似地:

SELECT * FROM table where binary your_field REGEXP '^[[:upper:]]+$'

“二进制”将字段转换为二进制,这是 REGEXP 对大多数数据类型(当然,二进制除外)区分大小写所必需的。

[:character_class:]这里记录了符号- 还有其他几个有用的字符类。

'binary' 运算符在此处记录。

于 2013-10-07T00:36:26.277 回答