2015-10-26 2 views
2

У меня есть колонка, которая содержит много строк. Каждая строка имеет значение около 3 слов. Я хочу изменить первую букву этого значения в верхний регистр. Только первая буква, пример abc def ghi, в Abc def ghi. Пожалуйста, помогите мне. Спасибо!SQL Server, как изменить 1 букву из нижнего регистра в верхний регистр?

ответ

2

DONE !! ТНХ всех

UPDATE table SET column= CONCAT(upper(LEFT(column, 1)), 
         SUBSTRING(column, 2,100)); 
+0

Заменить SUBSTRING (колонок, 2,100)) по подстроке (колонок 2, LEN (колонка) -1), потому что вы должны измерить длину только в во время выполнения. Длина 100 не может быть исправлена ​​(: –

+0

@ullas спасибо. Очень полезно –

4

Поскольку вы только хотите только первый символ в шапках, Вы можете использовать STUFF с UPPER и LEFT как этот

DECLARE @val VARCHAR(100) = 'abc def ghi' 
SELECT STUFF(@Val,1,1,UPPER(LEFT(@Val,1))) 

ВЫХОДА

Abc def ghi 

Примечание: Если у вас есть пробелы в начале строки используйте LTRIM перед другими операциями

1

Вы можете использовать LEFT и RIGHT в следующем:

DECLARE @val VARCHAR(100) = 'abc def ghi' 
SELECT UPPER(LEFT(@val,1)) + RIGHT(@val, LEN(@val) -1) 
1

Вы можете попробовать это:

DECLARE @val VARCHAR(100) = 'abc def' 
SELECT UPPER(LEFT(@val,1)) + SUBSTRING(@val,2,LEN(@val)) 
0

Кроме этого работало

DECLARE @val VARCHAR(20) = 'abc def ghi' 
SELECT UPPER(SUBSTRING(@val,1,1))+SUBSTRING(@val,2,LEN(@val)-1) 
Смежные вопросы