MySQL检测大小写?

MySQL检测大小写?,mysql,Mysql,我想通过phpmyadmin执行一个查询,在该查询中,我可以找到Lastname的任何未大写的条目。我可以用sql来完成吗 如果没有:php有没有一种简单的方法,或者我必须从子字符串开始编写代码?谢谢。像这样的东西应该行得通 SELECT lastname FROM tbl WHERE CONCAT( UPPER( SUBSTRING( lastname, 1, 1 ) ) , LOWER( SUBSTRING( lastname FROM 2 ) ) ) != la

我想通过phpmyadmin执行一个查询,在该查询中,我可以找到Lastname的任何未大写的条目。我可以用sql来完成吗


如果没有:php有没有一种简单的方法,或者我必须从子字符串开始编写代码?谢谢。

像这样的东西应该行得通

SELECT lastname
FROM tbl
WHERE CONCAT( UPPER( SUBSTRING( lastname, 1, 1 ) ) ,
              LOWER( SUBSTRING( lastname FROM 2 ) ) ) != lastname Collate latin1_german2_cs;
左侧创建一个正确的大小写lastname,并使用_cscollation将其与列大小写进行比较。根据,您可以尝试:

SELECT * FROM your_table
  WHERE your_field COLLATE <your_collation> REGEXP '[[:lower:]]+';
-- <your_collation> being a case sensitive collation,
-- such as latin1_general_cs, or utf8_bin, depending on your_table collation

谢谢你的快速回答。出于某种原因,我的装置上写着:1273-未知排序规则:“latin1_german2_cs”。虽然我有不区分大小写的latin1_german2排序规则。所以我用的是不喜欢二进制的,这很有效。谢谢,我已经保存了regexp,以备将来需要。拉丁语1_general_cs就像一种魅力!拉丁语1_general_cs就像一个符咒,让我使用Richard的代码。谢谢,我今天从你们两个身上学到了很多!