我有一个数据库,其中有一个标题为'address1'的字段。如果该字段中只有1个字符串用于记录,我可以将案例从“PAULSTOWN”更改为“Paulstown”,或者“bishopslough”更改为“Bishopslough”。
我是通过创建一个函数来完成的:
CREATE FUNCTION init_cap (s VARCHAR(255))
RETURNS VARCHAR(255) DETERMINISTIC
RETURN CONCAT( UPPER( SUBSTRING( s, 1, 1 ) ) , LOWER( SUBSTRING( s FROM 2 ) ) );
然后使用:
UPDATE customer SET address1 = init_cap(address1);
纠正记录。
但是,这并不能完全纠正包含多个字符串的记录,例如“dalesfort road”只会更正为“Dalesfort road”而不是“Dalesfort Road”。还有一些条目超过2个字符串。
如何更改上述功能以迎合2个或更多字符串?该函数也是正确声明的,还是应该使用开始和结束部分?