【发布时间】:2016-07-09 20:30:09
【问题描述】:
所以我正在尝试格式化存储过程中的列,如果值为“boxter s”,我希望将其检索为“Boxter S”我已经对第一个大写字母进行了排序,但我遇到了麻烦如果值中有空格,则使用 CASE 语句将最后一个字母变为大写字母。并非所有值都有空格,因此 CASE 语句,如果有空格,则只有一个前面有一个字母。这是我目前所拥有的:
SELECT
CASE UPPER(LEFT(m.model, 1)) + LOWER(SUBSTRING(m.model, 2, LEN(m.manufacturer)))
WHEN m.model = % + ' '
THEN UPPER(RIGHT(m.model, 1))
END AS Model
【问题讨论】:
-
upper(right(field, 1)) 呢?
-
我不希望每列的最后一个字母大写,除非有空格,所以如果 INPUT 参数是“hurrican”,我不希望它变成“Hurrican”。除非我错过了你的意思,在这种情况下你是否愿意跳过我的代码并告诉我你的意思?
标签: sql sql-server select case