備忘錄_20160105(定位) 修改 回首頁

程式 2020-02-24 11:24:44 1582514684 100
用 SQL SERVER 來搜尋,有用到造字(0xFA40- 0xFABF)的姓名

用 SQL SERVER 來搜尋,有用到造字(0xFA40- 0xFABF)的姓名
(16進位,2進位,10進位,文字 切換)

declare @tb1 table(
  編號 nvarchar(16) not null primary key,
  姓名 nvarchar(50) not null,
  cChk char(1) not null
)
insert into @tb1 
select 編號,姓名,'' from 某個資料表

declare @iIdx int, @vbIdx varbinary(2), @vcWord varchar(200)
-- 64064 (0xFA40) ~ 64191 (0xFABF)
set @iIdx=64064 
while(1=1)
  begin
    set @vbIdx=cast(@iIdx as varbinary(2))
    select @vcWord=convert(varchar(200),@vbIdx,0)
    
    update @tb1 set cChk='Y' where 姓名 like '%'+@vcWord+'%'

    set @iIdx=@iIdx+1
    if @iIdx>64191 break
  end

select * from @tb1 where cChk='Y'