/*--全角/半角转换

原创 2007年09月19日 14:05:00

/*--全角/半角转换  
   
  转换说明  
  全角字符从的unicode编码从65281~65374  
  半角字符从的unicode编码从       33~126  
  空格比较特殊,全角为   12288,半角为   32  
  而且除空格外,全角/半角按unicode编码排序在顺序上是对应的  
  所以可以直接通过用+-法来处理非空格数据,对空格单独处理  
  like的时候,指定排序规则   COLLATE   Latin1_General_BIN  
  是保证字符顺序按unicode编码排序  
  (此函数部分思路参考了CSDN上大力的转换函数)  
  --邹建   2005.01(引用请保留此信息)--*/  
   
  /*--调用示例  
   
  declare   @s1   varchar(8000)  
  select   @s1='中    2-3456a78STUVabn中国opwxyz'  
  select   dbo.f_convert(@s1,0),dbo.f_convert(@s1,1)  
  --*/  
  CREATE   FUNCTION   f_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  
  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)  
  END  
  GO  

全角半角字符相互转换

import org.apache.commons.lang.StringUtils; /** * * 提供对字符串的全角->半角,半角->全角转换 * ...
  • ycb1689
  • ycb1689
  • 2017年05月02日 10:00
  • 313

java中全角半角字符的相互转换

import org.apache.commons.lang.StringUtils; /** * * 提供对字符串的全角->半角,半角->全角转换 * */ public ...
  • paincupid
  • paincupid
  • 2016年08月18日 14:12
  • 1027

JAVA实现全角半角相互转化 (full2Half & half2Full)

说明: 1.全角:指一个字符占用两个标准字符位置。汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的,只是在作文字处理时才会使用...
  • chndata
  • chndata
  • 2015年08月07日 09:45
  • 3088

Java工具类——全角半角字符相互转换

import org.apache.commons.lang.StringUtils;          /**    *     * 提供对字符串的全角->半角,半角->全角转换    *...
  • xyw591238
  • xyw591238
  • 2016年06月20日 11:53
  • 5272

C语言 字符全角、半角转换

1.全角是一种电脑字符,且每个全角字符占用两个标准字符(或半角字符)位置。 每个普通字符(或半角字符)只占用一字节的空间(一字节有8位,共256个编码空间),而汉语、日语、及朝鲜文等象形字语...
  • u012968002
  • u012968002
  • 2017年03月21日 13:54
  • 347

ORACLE SQL半角全角转换

在其际应用中尽量保证使用主qvfp
  • x_focus
  • x_focus
  • 2014年08月27日 10:44
  • 1768

Lua UTF-8 全角转半角

根据UTF-8的编码规则,可以知道: 1. 全角空格为12288,半角空格为32  2. 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248  但是UTF...
  • SKY453589103
  • SKY453589103
  • 2017年07月29日 20:36
  • 455

php字符串处理之全角半角转换(正则匹配全角字符思路)

半角全角的处理是字符串处理的常见问题,本文尝试为大家提供一个思路。 一、概念 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)例如:/[\x...
  • h330531987
  • h330531987
  • 2017年04月14日 21:15
  • 752

数据清洗小记(2):全角数字转换半角数字

【背景】 在将某数字类型字段插入到目标端时,报错,提示类型不正确,查看数据发现确实为number,但发现为“全角”数字。   【解决】 利用函数,将“全角”转换成“半角”,使用如:to_single_...
  • huangyanlong
  • huangyanlong
  • 2015年06月03日 08:56
  • 1332

我的Android进阶之旅------>Java全角半角的转换方法

一中文全角和半角输入的区别 1全角指一个字符占用两个标准字符位置 2半角指一字符占用一个标准的字符位置 3全角与半角各在什么情况下使用 4全角和半角的区别 5关于全角和半角 6全角与半角比较 二转半角...
  • qq446282412
  • qq446282412
  • 2016年07月12日 16:31
  • 3235
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:/*--全角/半角转换
举报原因:
原因补充:

(最多只允许输入30个字)