1
루마니아어 발음 구분 기호 (ĂÂÎȘȚ
)를 해당 라틴 문자로 대체하는 함수를 작성하려고합니다 (각각 AAIST
).replace는 문자열의 시작 부분에만 일치합니다.
SQL 서버의 replace
은 Ă
, Â
및 Î
과 같이 처리됩니다.
Ș
과 Ț
과 같이 이상한 문제가있는 것 같습니다. 문자열 시작 부분에있는 경우에만 바뀝니다. example를 들어
는 :
select replace(N'Ș', N'Ș', N'-')
-- '-' # OK
select replace(N'ȘA', N'Ș', N'-')
-- '-A' # OK
select replace(N'AȘ', N'Ș', N'-')
-- 'AȘ' # WHAT??
select replace(N'ȘAȘ', N'Ș', N'-')
-- '-AȘ' # WHAT??
나는이 두 SQL 끊다 2008 R2에 대한 행동과 SQL 서버 2012
이 보이는 이상한 결과에 대한 설명이 거기를 재현하는 데 성공? 아니면 그냥 버그일까요?
기본 데이터베이스 데이터 정렬은 SQL_Latin1_General_CP1_CI_AS
입니다.