mysql - 更新数据库中某些大写字段的简单方法?

标签 mysql

我希望更新类(class)表中的“前缀”字段,仅将第一个字母大写,而不是整个前缀。

有什么简单的方法可以用 SQL 来做到这一点吗?示例输出可能类似于数据库中“前缀”的“Aadm”。

我的 table 看起来像: enter image description here

示例行如下所示: enter image description here

我的 SQL 如下所示:

WHERE CONCAT(prefix,code) LIKE '%".  $keywords . "%'");

是否可以在此处使用 LOWER 前缀?

最佳答案

select prefix,
concat(upper(substring(prefix,1,1)),substring(lower(prefix) from 2)) as initcap
from course

在更新字段之前尝试选择表单

如果您要查找所有字符均为大写的前缀,请使用正则表达式

where binary(prefix) regexp '^[A-Z]+$' 

编辑。更新查询

update course 
set prefix =
concat(upper(substring(prefix,1,1)),substring(lower(prefix) from 2)) 

关于mysql - 更新数据库中某些大写字段的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5812178/

相关文章:

sql - 将广告添加到 mysql 数据库;请指出我正确的方向

php - 以编程方式从 MySQL 中选择数据

php - PHP 是否可以使用已经使用 count(*) 的查询来计算行数?

mysql - 进行单个插入的更快方法?

mysql - 如何调用mysql中的存储过程?

mysql - 查询条件参数

php - 需要时区调试帮助

mysql - 无法使用 IF ... THEN 语句执行查询

sql - MySql:它有类似 namespace 的 SCHEMA 吗?

mysql - 在sql中查找日期范围的最小值和最大值