SqlServer数据库全角转换成半角

代码如下:

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调用:update table1 set column1=dbo.f_Convert(column1,0);

(0)

相关推荐

  • php全角字符转换为半角函数

    之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题.最后还是换成下面的字符替换方式了,把目前能找到的所有全角都列出来了一个个替换吧 复制代码 代码如下: /** * 全角字符转换为半角 * * @param string $str * @return string */ public function Sbc2Dbc($str) { $arr = array( '0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4',

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

    如果搞明白了Java中全角字符和半角字符之间的关系 那他们之间的转换根本就不是个事. 全角字符与半角字符的关系 可以通过下面的程序看看Java中所有字符以及对应编码的值 复制代码 代码如下: public static void main(String[] args) {        for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {            System.out.println(i + " 

  • asp(javascript)全角半角转换代码 dbc2sbc

    asp全角半角转换函数 flag=-1时进行半角转全角 flag=0时进行半角全角互转 flag=1时进行全角转半角 复制代码 代码如下: <% Function DBC2SBC(Str, flag) Dim i, sStr If Len(Str)<= 0 Then Exit Function DBC2SBC = "" For i = 1 To Len(Str) sStr = Asc(Mid(Str, i, 1)) Select Case flag Case -1 If s

  • Python实现全角半角转换的方法

    本文实例讲解了Python实现全角半角转换的方法,相信对于大家的Python学习能够起到一定的参考借鉴价值.如下所示: 一.全角半角转换概述: 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E) 半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E) 空格比较特殊,全角为 12288(0x3000),半角为 32 (0x20) 而且除空格外,全角/半角按unicode编码排序在顺序上是对应的 所以可以直接通过用+-法来处理非空格

  • Ruby 中关于日文转UTF-8及半角全角转换的技巧

    1.日文转UTF-8 Iconv.new('cp932', 'utf-8')与Iconv.new('shift_jis', 'utf-8')的区别 Iconv.new('shift_jis', 'utf-8')不支持以下的格式: 課№001-18 XXXXXXX 而只能把字符窜中的№换成No.才行 但是Iconv.new('cp932', 'utf-8')支持. 2.半角全角转换 看下面的代码: require "jcode" $cov.iconv(year.to_s.tr('0-9'

  • Python内置数据类型详解

    通常来说Python在编程语言中的定位为脚本语言--scripting language 高阶动态编程语言. Python是以数据为主,变量的值改变是指变量去指到一个地址. 即:Id(变量)->展示变量的地址. 因此一个具体的值,会有不同的变量名. Python的数据类型: 数字.字符串.列表.元组.字典 数字和字符串其实是很基本的数据类型,在Python中和其他语言相差不是很大的,在这里就不细讲了. Dictionary介绍: Dictionary是Python的内置数据类型之一,它定义了键和

  • c#转换全角半角方法示例

    C#全角转换成半角 新建一个项目quanbanjiao,在此项目下新建一个类Class1 复制代码 代码如下: using System;using System.Web;using System.Text; namespace quanbanjiao{    public class Class1    {        /**/        /// <summary>        /// 判断字符是否英文半角字符或标点        /// </summary>      

  • Python实现冒泡,插入,选择排序简单实例

    本文所述的Python实现冒泡,插入,选择排序简单实例比较适合Python初学者从基础开始学习数据结构和算法,示例简单易懂,具体代码如下: # -*- coding: cp936 -*- #python插入排序 def insertSort(a): for i in range(len(a)-1): #print a,i for j in range(i+1,len(a)): if a[i]>a[j]: temp = a[i] a[i] = a[j] a[j] = temp return a #

  • Python实现发送email的几种常用方法

    学过Python的人都知道,实用Python实现发送email的功能还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现. 本文就把几个最简单的发送邮件方式记录下来,像html邮件,附件等也是支持的,读者在需要时可以参考查询一下.具体方法如下: 1.登录邮件服务 具体代码如下: #!/usr/bin/env python # -*- coding: utf-8

  • Python算法之栈(stack)的实现

    本文以实例形式展示了Python算法中栈(stack)的实现,对于学习数据结构域算法有一定的参考借鉴价值.具体内容如下: 1.栈stack通常的操作: Stack() 建立一个空的栈对象 push() 把一个元素添加到栈的最顶层 pop() 删除栈最顶层的元素,并返回这个元素 peek()  返回最顶层的元素,并不删除它 isEmpty()  判断栈是否为空 size()  返回栈中元素的个数 2.简单案例以及操作结果: Stack Operation Stack Contents Return

  • Python实现partial改变方法默认参数

    在Python的标准库中,functools库中有很多对方法有操作的封装功能,partial Objects就是其中之一,他可以实现对方法参数默认值的修改.本文就以实例代码说明这一功能. 下面就看下简单的应用测试实例.具体代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- #python2.7x #partial.py #authror: orangleliu ''' functools 中Partial可以用来改变一个方法默认参数 1 改变原

随机推荐