【问】医药之星7.5 在系统管理中数据导入错误 | ||
【适用版本】医药之星7 | 【模块】基础业务 | 【点击数】62 |
【知识编号】Z2014103000002 | ||
【问题描述】如图 |
处理方式:–第一步
use hbmsv7
go
create function u_convert( @str nvarchar(4000), –要转换的字符串
@flag bit –转换标志,0转换成半角,1转换成全角
)
returns nvarchar(4000)
AS
begin
declare
@pat nvarchar(8),
@step int,
@i int,
@spc int
if @flag=0
begin
select @pat=N’%[!-~]%’,@step=-65248, @str=replace(@str,N’ ’,N’ ‘)
end
else
begin
select @pat=N’%[!-~]%’,@step=65248,@str=replace(@str,N’ ‘,N’ ’)
end
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)
end–第二步
–SQL函数执行方法
–名称全角转半角
update t_bd_item_info set item_name=dbo.u_convert(item_name,0)
–货号全角转半角
update t_bd_item_info set item_no=dbo.u_convert(item_no,0)
–自编码全角转半角
update t_bd_item_info set item_subno=dbo.u_convert(item_subno,0)
–语句语法格式,更新列名
update t_bd_item_info set 列名=dbo.u_convert(列名,0)
go