【发布时间】:2015-02-25 20:48:45
【问题描述】:
我有一个名称全部大写的数据集,需要将它们转换为正确的报告大小写。我在 Stackoverflow 中找到了以下代码:
SET LastName = CONCAT(UPPER(SUBSTRING(LastName, 1, 1)),LOWER(SUBSTRING(LastName, 2)));
这适用于简单的姓氏:
史密斯 --> 史密斯
琼斯 --> 琼斯
但对于复合名称不太好:
范戴克 --> 范戴克
卡特史密斯 --> 卡特史密斯
有没有人开发了一些 MySQL 代码来执行以下操作:
范戴克 --> 范戴克
卡特-史密斯 --> 卡特-史密斯
我知道我们无法捕捉到所有可能的情况,但我希望有人至少解决了由破折号或空格分隔的名称转换问题。
【问题讨论】:
-
要么使用 2 个单独的查询检查 - 在 WHERE 中,要么使用
CASE WHEN COL LIKE '%-%'