简体   繁体   English

将SQL中字符串的特定字母大写

[英]Capitalise a specific letter of a string in SQL

How would I capitalise every letter 'a' in for example 'angela'我如何将每个字母“a”大写,例如“angela”

SELECT LOWER(SUBSTRING('angela',1,CHARINDEX('a', 'angela')-1))+UPPER(RIGHT(LEFT('angela',CHARINDEX('a', 'angela')),1))+LOWER(SUBSTRING('angela',CHARINDEX('a', 'angela')+1,LEN('angela'))) 

This works but only on one letter.这有效,但只适用于一个字母。

Most RDBMS support replace() .大多数 RDBMS 支持replace() In Excel it's called substitute() .在 Excel 中它被称为substitute() Gotta love consistency一定要爱一致性

SELECT Replace('angela','a','A')
Gives us: AngelA

SELECT Replace('the sky was the darkest blue','the','')
Gives us:' sky was  darkest blue'

SELECT Replace('the sky was the darkest blue','the ','')
Gives us:'sky was darkest blue'

Demo 演示

Replace(<StringToEvaluate>, <test to search for>, <text to overwrite with>)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM