检查mysql查询中的大写字母

时间:2011-10-12 11:25:03

标签: php mysql sql

我有一个包含一些电子邮件字段的表格。有些电子邮件记录是大写字母,有些是骆驼案例。现在我必须将所有带大写字母的电子邮件转换为小写字母。我可以通过PHP脚本获取每个记录,然后检查任何大写字母,然后将其转换为小写,如果找到任何大写字母。

在Mysql中是否有任何方法可以只获取那些包含大写字母的记录而不是全部?这样我就可以通过执行每一条记录来幸免。我在Mysql中寻找一种方法,我们可以在查询中检查记录中的大写字母。有什么建议??

1 个答案:

答案 0 :(得分:5)

将排序规则更改为区分大小写的排序规则。

但实际上,此查询需要多长时间?

update `table` set email = lower(email)

编辑:仅更新不仅包含小写电子邮件的记录:

update 
    `table`
set
    email = lower(email) 
where
    email <> lower(email)
collate
    latin1_general_cs

您可以先选择它们进行测试:

select 
    *
from
    `table`
where
    email <> lower(email)
collate
    latin1_general_cs
limit 
    10