好的,这是一个简单的:
我在 MySQL 中有一个表,其中保存了一些国家名称(由用户插入)。 “问题”是一些用户插入的国家名称没有第一个大写字母。
A 需要一个脚本(查询+PHP)从表中的 1 列中选择所有值,并应用一个 PHP 脚本,使每个单词的第一个字母为大写字母,其余为小写字母。
例子: 编辑前:
Name oNe
cOUNTRY
VaLue
value
编辑后:
Name One
Country
Value
Value
我想知道两件事: -> 在 mySQL 表中编辑值的最简单方法 ->最简单的 PHP 方法来大写脚本中每个单词的首字母(空格分隔)
谢谢!
最佳答案
您可以使用 this功能:
DELIMITER $$
DROP FUNCTION IF EXISTS `ICap`$$
CREATE FUNCTION `ICap`(mystring varchar(1000))
RETURNS VARCHAR(1000)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE myc, pc CHAR(1);
DECLARE myoutstring VARCHAR(1000) DEFAULT LOWER(mystring);
WHILE i <= CHAR_LENGTH(mystring) DO
SET myc = SUBSTRING(mystring, i, 1);
SET pc = CASE WHEN i = 1 THEN ' ' ELSE SUBSTRING(mystring, i - 1, 1) END;
IF pc IN (' ', '&', '''', '_', '?', ';', ':', '!', ',', '-', '/', '(', '.') THEN
SET myoutstring = INSERT(myoutstring, i, 1, UPPER(myc));
END IF;
SET i = i + 1;
END WHILE;
RETURN myoutstring;
END$$
DELIMITER ;
之后,您可以像这样检索结果:
SELECT
ICap(name)
FROM
MyTable
或者只更新所有行:
UPDATE
MyTable
SET
name = ICap(name)
关于php - MySQL 编辑值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6123733/