需要一个MySQL查询来更新客户名称的第一个字母为大写,其余字母为小写。
在姓氏以以下字母开头的情况下(Fitz,Mac,Mc和O’),我们应大写以下字母:
例如:麦当劳,麦金太尔,奥尼尔等
SELECT CONCAT(UCASE(SUBSTRING(field, 1, 1)),LCASE(SUBSTRING(field, 2)))
FROM table_name WHERE field REGEXP BINARY '^[A-Z]+$';
我希望“麦当劳,麦金太尔,奥尼尔”的输出为“麦当劳,麦金太尔,奥尼尔”
答案 0 :(得分:2)
要在MySQL中进行姓氏转换,您需要执行以下操作。
注意::这只是在处理“ macdonald => MacDonald”场景。
SELECT
CASE
WHEN INSTR(LCASE(Field), "mac") == 1 THEN
CONCAT(
"Mac",
UCASE(SUBSTRING(Field,4,1)),
LCASE(SUBSTRING(Field,5))
)
ELSE CONCAT(UCASE(SUBSTRING(Field,1,1)), LCASE(SUBSTRING(Field,2)))
END AS surname
FROM table_name;
只需为其他情况(或特殊情况)添加更多“何时”声明