sql server 2005全角与半角字符转换

CREATE FUNCTION D_ByteExchangeS_Byte(
@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))[email protected]))
            ,@i=PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN,@str)
    RETURN(@str)
END
GO

调用 :SELECT dbo.D_ByteExchangeS_Byte(N‘1989455‘,0)

引用:http://blog.csdn.net/xiemk2005/article/details/6551873

时间: 2024-10-29 19:11:08

sql server 2005全角与半角字符转换的相关文章

详解全角和半角的转换

最近在项目中遇到一个问题,客户上传的文件无法下载下来,经过定位发现原来客户上传的文件名中包含很多全角字符导致无法解析,找不到对应的文件,其实文件是真实存在的,只是用的上传下载组件不支持全角字符的文件名,从而导致文件找到不到,无法下载. 所以本人就对全角和半角进行了一些分析和总结以及它们之间用java代码是如何进行转换的经验同各位园友进行分享,希望大家共同学习,共同进步,不足之处,请大家不吝指出. 好了,进入正题......... 全角和半角简介 全角是一种电脑字符,且每个全角字符占用两个标准字符

java 全角、半角字符串转换

转自:http://www.cnblogs.com/modou/articles/2679815.html     加入了空字符串的验证 半角转全角的方法: /** * @Title: ToSBC * @Description: 半角转全角 * @param input String. * @return 全角字符串. * @throws */ public static String ToSBC(String input) { if(!("".equals(input)||input

java全角、半角字符的关系以及转换

如果搞明白了Java中全角字符和半角字符之间的关系,那他们之间的转换就不是个麻烦事儿.你只需要对这个关系有那么一个印象就足够了. 全角字符与半角字符的关系 通过下面的代码能看到Java中所有字符以及对应编码的值\ public static void main(String[] args) { for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) { System.out.println(i + " "

刨根究底字符编码之五——简体汉字编码方案(GB2312、GBK、GB18030、GB13000)以及全角、半角、CJK

简体汉字编码方案(GB2312.GBK.GB18030.GB13000)以及全角.半角.CJK 一.概述 1. 英文字母再加一些其他标点字符之类的也不会超过256个,用一个字节来表示一个字符就足够了(2^8 = 256).但其他一些文字不止这么多字符,比如中文中的汉字就多达10多万个,一个字节只能表示256个字符,肯定是不够的,因此只能使用多个字节来表示一个字符. 于是当计算机被引入到中国后,相关部门设计了GB系列编码("GB"为"国标"的汉语拼音首字母缩写,即&q

SQL转换全角和半角函数

SQL转换全角和半角函数 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(@st

自己整理的常用SQL Server 2005 语句、

--创建数据库 create database 数据库 go --打开数据库 use 数据库 --删除数据库 drop database 数据库 Go --创建数据表 create table 数据表 ( 列名1  数据类型1  限定条件(是否是主外键.是否为空), 列名2  数据类型2  限定条件(是否是主外键.是否为空) )go --删除数据表 drop table 数据表 --插入数据 --插入单行数据 insert  into 表名 [(列名1,列名2 )]  values  (‘数据1

SQL SERVER 2005快捷键+visual studio 2008 快捷键

一.SQL SERVER 2005快捷键  快捷键                                       功能           CTRL       +       SHIFT       +       B生成解决方案           CTRL       +       F7           生成编译           CTRL       +       O                                   打开文件          

js对全角与半角的验证,相互转化以及介绍

1.什么是全角和半角? 全角:是一种电脑字符,是指一个全角字符占用两个标准字符(或两个半角字符)的位置.全角占两个字节. 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符.在全角中,字母和数字等与汉字一样占据着等宽的位置. 半角:是指一个字符占用一个标准的字符位置.半角占一个字节. 半角就是 ASCII 方式的字符,在没有汉字输入法起作用的时候,输入的字母.数字和字符都是半角的. 每个半角字符只占用一字节的空间(一字节有8位,共256个编码空间).汉语.日

C#全角和半角转换

在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角".在汉字输入时,系统提供"半角"和"全角"两种不同的输入状态,但是对于英文字母.符号和数字这些通用字符就不同于汉字,在半角状态它们被作为英文字符处理:而在全角状态,它们又可作为中文字符处理.半角和全角切换方法:单击输入法工具条上的 按钮或按键盘上的Shift+Space键来切换. (1)全角--指一个