SQL Server Converts case for letter that comes after - (hyphen)
4 answers
Usage stuff()
:
declare @str varchar(64) = 'Aaa - aaa'
select stuff(@str,charindex('-',@str)+2,1,upper(substring(@str,charindex('-',@str)+2,1)))
Demo version of rexter: http://rextester.com/CCIZDT37194
Returns: Aaa - Aaa
+1
source to share
Ok, if the format doesn't change here, this is the easy way. It works for nn characters
declare @char varchar(64) = 'Aaa - aaa'
select
@char
,substring(@char,1,CHARINDEX('-',@char,1)) + ' ' + upper(substring(@char,CHARINDEX('-',@char,1) + 2,1)) + substring(@char,CHARINDEX('-',@char,1)+3,len(@char))
Otherwise you need a UDF
0
source to share
You can use upper and ParseName
select concat(parsename(Replace(v,' - ', '.'),2), ' - ', Upper(substring(parsename(Replace(v,' - ', '.'),1),1,1)), substring(parsename(Replace(v,' - ', '.'),1),2,len(parsename(Replace(v,' - ', '.'),1))))
from #yourtext
Your input table:
create table #yourtext (v varchar(100))
insert into #yourtext (v) values
('Aaa - aaa')
,('Bbb - bbb')
,('Ccc - ccc')
0
source to share