您可以使用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嗎? – Midas 2011-05-25 11:41:34
@Midas:不,它只是MySQL。你不需要php來滿足你的需求。您只能在MySQL中完成此操作。 – CristiC 2011-05-25 11:43:45
它像一個魅力工作,謝謝! – Cristy 2011-05-25 11:45:48