create function 全半角 (@str Nvarchar(4000),@flag nchar(4))
returns nvarchar(4000)
as
begin
declare @ nvarchar(4000)
set @=N''
if @flag=N'全角'
while @str<>N''
select @=@+case when unicode(left(@str,1)) between 33 and 126 then nchar(unicode(left(@str,1))+65248) else left(@str,1) end,@str=substring(@str,2,4000)
else
while @str<>N''
select @=@+case when unicode(left(@str,1)) between 65281 and 65374 then nchar(unicode(left(@str,1))-65248) else left(@str,1) end,@str=substring(@str,2,4000)
return @
end
go
再用:
EXEC master..xp_cmdshell 'bcp "SELECT dbo.全半角(cast(你的号码列 as nvarchar(100)),'全角') FROM 库名..表名" queryout E:\boc\DT.txt -c -Sservername -Usa -Ppassword'