是否有将字符串转换为小写的 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 命令?的主要内容,如果未能解决你的问题,请参考以下文章