仅限于 SQL Server.
将以下脚本复制到"common\dbo.convert_CharSet.UDF"文件中。/* 
  半角字符串转全角
*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[convert_CharSet_BJ2QJ]') 
                                          and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[convert_CharSet_BJ2QJ]
GOCREATE FUNCTION convert_CharSet_BJ2QJ(@AnsiString nvarchar(2000))    --     输入的字符串,半角 
   RETURNS nvarchar(2000)
   WITH ENCRYPTION
AS
BEGIN
  DECLARE @i         int
         ,@ret       nvarchar(2000)
         
  select @i=1
  SET @ret=''
  while @i<=len(@AnsiString)
  begin
    select @ret = @ret + NCHAR(ascii(SUBSTRING(@AnsiString, @i, 1))+ 0xFEE0 )  -- $FEE0  
    SET @i=@i+1
  end  return @ret
endgo--
/*
select dbo.convert_CharSet_BJ2QJ( '12345678.900')                                                                                             
--
*//* 
  全角字符串转半角
*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[convert_CharSet_QJ2BJ]') 
                                          and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[convert_CharSet_QJ2BJ]
GOCREATE FUNCTION convert_CharSet_QJ2BJ(@WideString nvarchar(2000))    --     输入的字符串,全角 
   RETURNS nvarchar(2000)
   WITH ENCRYPTION
AS
BEGIN
  DECLARE @i         int
         ,@ret       nvarchar(2000)
         
  select @i=1
  SET @ret=''
  WHILE  SUBSTRING(@WideString,@i,1)<>''    
  BEGIN    
    SET  @ret=@ret+NCHAR(UNICODE(SUBSTRING(@WideString,@i,1))-
                 CASE  
                   WHEN  SUBSTRING(@WideString,@i,1)='。'  THEN  12244  ELSE    65248                   
                 END  )  
    SET  @i=@i+1  
  END    return @ret
endgo--
/*
select dbo.convert_CharSet_QJ2BJ( '12345678.9。00')                                                                                             
--
*/
/* 
  数字字符串转全角。可以包含中文。
*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[convert_CharSet_2QJ]') 
                                          and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[convert_CharSet_2QJ]
GOCREATE FUNCTION convert_CharSet_2QJ(@AnsiString nvarchar(2000))    --     输入的字符串,半角 
   RETURNS nvarchar(2000)
   WITH ENCRYPTION
AS
BEGIN
  DECLARE @i         int
         ,@ret       nvarchar(2000)
         
  select @i=1
  SET @ret=''
  while @i<=len(@AnsiString)
  begin
    if unicode(SUBSTRING(@AnsiString, @i, 1))<256
      select @ret = @ret + NCHAR(unicode(SUBSTRING(@AnsiString, @i, 1))+ 0xFEE0 ) 
    else
      select @ret = @ret + SUBSTRING(@AnsiString, @i, 1)     
    SET @i=@i+1
  end  return @ret
endgo--
/*
select dbo.convert_CharSet_2QJ( '7我们12345678.900')                                                                                             
--
*//* 
  数字字符串转半角。包含汉字的字符串输出 null.
*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[convert_CharSet_2BJ]') 
                                          and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[convert_CharSet_2BJ]
GOCREATE FUNCTION convert_CharSet_2BJ(@WideString nvarchar(2000))    --     输入的字符串,全角 
   RETURNS nvarchar(2000)
   WITH ENCRYPTION
AS
BEGIN
  DECLARE @i         int
         ,@ret       nvarchar(2000)
         
  select @i=1
  SET @ret=''
  WHILE  SUBSTRING(@WideString,@i,1)<>''    
  BEGIN 
    if UNICODE(SUBSTRING(@WideString,@i,1))>255   
    SET  @ret=@ret+NCHAR(UNICODE(SUBSTRING(@WideString,@i,1))-
                 CASE  
                   WHEN  SUBSTRING(@WideString,@i,1)='。'  THEN  12244  ELSE    65248                   
                 END  ) 
  else
    SET  @ret=@ret+(SUBSTRING(@WideString,@i,1))      
    SET  @i=@i+1  
  END    return @ret
endgo--
/*
select dbo.convert_CharSet_2BJ( '15612345678.9。00')  
--
*/
执行命令行:REM  F 字符串转换:半角、全角      
REM        -----------------+--------------------------------------------------
REM        半角转换成全角   | convert_CharSet_BJ2QJ(AnsiString): WideString
REM        半角转换成全角   | convert_CharSet_QJ2BJ(WideString): AnsiString
REM        数字字符串转全角 | convert_CharSet_2QJ(String): WideString
REM        数字字符串转半角 | convert_CharSet_2BJ(String): AnsiString
REM        -----------------+--------------------------------------------------
osql -S %1 -d %2 -U %3 -P %4 -b -i "common\dbo.convert_CharSet.UDF"
if %ERRORLEVEL% NEQ 0 goto errors