我有一张有一些电子邮件字段的表。有些电子邮件记录是大写的,有些则是驼色的。现在我必须把所有大写字母的电子邮件转换成小写字母。我可以通过一个PHP脚本来实现这一点,方法是获取每个记录,然后检查它是否有任何大写字母,如果找到任何大写字母,则将其转换为小写。
在Mysql中,有没有什么方法可以让我们只获取那些包含大写字母的记录,而不是所有的记录??这样,我就可以通过执行每一条记录来获得豁免。我在Mysql中寻找一种方法,用它我们可以在查询本身的记录中检查大写字母。有什么建议吗??

最佳答案

将排序规则更改为区分大小写的排序规则。
但实际上,这个查询需要多长时间?

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

关于php - 检查mysql查询中的大写字母,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7739303/

10-12 19:03