是否有将字符串转换为小写的 MySQL 命令?

Posted

技术标签:

【中文标题】是否有将字符串转换为小写的 MySQL 命令?【英文标题】:Is there a MySQL command to convert a string to lowercase? 【发布时间】:2010-09-18 07:37:35 【问题描述】:

我有一个 mysql 数据库,其中包含目前混合大小写的关键字。但是,我想将它们全部转换为小写。是否有一个简单的命令可以使用 MySQL 或 MySQL 和 php

【问题讨论】:

我猜你也在使用朋友的转储,他认为用大写字母存储用户名是个好主意。 【参考方案1】:

SELECT LOWER(foo) AS foo FROM bar

【讨论】:

【参考方案2】:
UPDATE table SET colname=LOWER(colname);

【讨论】:

如果列的排序规则设置为ascii_bin,这不会自动将所有内容转换为小写还是我弄错了?【参考方案3】:

您是否尝试过查找?谷歌,手动...

http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_lower

mysql> SELECT LOWER('QUADRATICALLY');
        -> 'quadratically'

【讨论】:

【参考方案4】:

是的,函数是 LOWER() 或 LCASE()(它们都做同样的事情)。

例如:

select LOWER(keyword) from my_table

【讨论】:

【参考方案5】:

我相信php你可以使用

strtolower() 

这样您就可以创建一个 php 来读取表中的所有条目,然后使用该命令将它们打印为小写

【讨论】:

OP 请求 MySQL 或 MySQL/PHP。【参考方案6】:

您可以使用函数 LOWER() 或 LCASE()。

这些可以用于列或字符串文字。例如

SELECT LOWER(column_name) FROM table a;

SELECT column_name FROM table a where column = LOWER('STRING')

LCASE() 在这两个例子中都可以代替 LOWER()。

【讨论】:

【参考方案7】:

使用LOWER函数将数据或字符串转换为小写。

select LOWER(username) from users;

select * from users where LOWER(username) = 'vrishbh';

【讨论】:

这增加了什么 5 岁 答案中没有的内容?【参考方案8】:

简单使用:

UPDATE `tablename` SET `colnameone`=LOWER(`colnameone`);  

UPDATE `tablename` SET `colnameone`=LCASE(`colnameone`);

这两个函数的工作方式相同。

【讨论】:

【参考方案9】:

有趣的是,字段名称被重命名,如果你在函数中引用它,你将不会得到它的值,除非你给他一个别名(可以是它自己的名字)

示例:我使用一个函数来动态获取一个字段名值:

function ColBuilder ($field_name) 
…
While ($result = DB_fetch_array($PricesResult)) 
$result[$field_name]

…

我的查询是: SELECT LOWER(itemID), ... 等等。

需要改为: SELECT LOWER(itemID) as itemID, ... 等等..

【讨论】:

这听起来不像是一个答案,或者? 它完成了答案,警告在特定情况下使用 LOWER() 可能无法在没有额外别名的情况下提供预期结果。

以上是关于是否有将字符串转换为小写的 MySQL 命令?的主要内容,如果未能解决你的问题,请参考以下文章

是否有将分类变量转换为连续变量的 R 函数?

mysql模糊查询区分大小写

shell将字符串转换将小写字母转换为大写字母

如何在 Bash 中将字符串从大写转换为小写? [复制]

c++字符处理判断是否为数字字母,大小写转换

Java 如何判断一个字符的大小写,并将大写换为小写,小写换为大写 谢谢