--1.查詢區分全形與半形字元
--測試資料
declare @t table(col varchar(10))
insert @t select 'aa'
union all select 'aa'
union all select 'aa' --全形a
union all select 'a,a' --全形a,半形逗號(,)
union all select 'a,a' --全形a,全形逗號(,)
--1.查大寫字母
select * from @t
where col collate chinese_prc_cs_as_ws like '%a%'
--結果
aa--2.查全形字母
select * from @t
where col collate chinese_prc_cs_as_ws like '%a%'
--結果
aaa,a
a,a--3.查半形逗號(,)
select * from @t
where col collate chinese_prc_cs_as_ws like '%,%'
--結果
a,a--3.查全形逗號(,)
select * from @t
where col collate chinese_prc_cs_as_ws like '%,%'
go--結果
a,a--2 實現全形與半形字元轉換的處理函式
create function f_convert(
@str nvarchar(4000), --要轉換的字串
@flag bit --轉換標誌,0轉換成半形,1轉換成全角
)returns nvarchar(4000)
asbegin
declare @pat nvarchar(8),@step int,@i int,@spc int
if @flag=0
select @pat=n'%[!-~]%',@step=-65248,
@str=replace(@str,n' ',n' ')
else
select @pat=n'%[!-~]%',@step=65248,
@str=replace(@str,n' ',n' ')
set @i=patindex(@pat collate latin1_general_bin,@str)
while @i>0
select @str=replace(@str,
substring(@str,@i,1),
nchar(unicode(substring(@str,@i,1))+@step))
,@i=patindex(@pat collate latin1_general_bin,@str)
return(@str)
endgo
select [dbo].[f_convert] ('aaa' ,0)
--結果
aaa
sqlserver排序規則在拼音處理中的應用
1.按拼音排序 declare t table col varchar 2 insert t select 中 union all select 國 union all select 家 union all select 人 union all select 郭 select from t orde...
全庫修改SQL Server現有排序規則
sql server備份還原後可能遇到排序規則不一致的問題,此時通過統一排序規則可以解決。詳細操作如下 資料庫報錯資訊 無法解決 equal to 運算中 sql latin1 general cp1 ci as 和 chinese prc ci as 之間的排序規則衝突。為解決排序規則衝突,可直接...
sql server 排序規則
sql server 排序規則 檢視伺服器的排序規則 select serverproperty n collation select serverproperty collation chinese prc ci as 修改資料庫的排序規則 alter database tempdb collat...