oracle中对全半角的转换

to_single_byte(c)转换成半角

to_multi_byte(c)转换成全角

SELECT To_single_byte('881898?71') FROM dual ---转成半角

SELECT To_muil_byte('881898?71') FROM dual-----转成全角

length(p1.accounts)!=lengthb(p1.accounts)----此条件是查出哪些记录里含有全角字符

转:Sqlserver 全角/半角转换
if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[f_convert]')   and   xtype   in   (N'FN',   N'IF',   N'TF'))   
  drop   function   [dbo].[f_convert]   
  GO   
    
  /*--全角/半角转换   
    
  转换说明   
  全角字符从的unicode编码从65281~65374   
  半角字符从的unicode编码从       33~126   
  空格比较特殊,全角为   12288,半角为   32   
  而且除空格外,全角/半角按unicode编码排序在顺序上是对应的   
  所以可以直接通过用+-法来处理非空格数据,对空格单独处理   
  like的时候,指定排序规则   COLLATE   Latin1_General_BIN   
  是保证字符顺序按unicode编码排序

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

declare   @s1   varchar(8000)   
  select   @s1='中    2-3456a78STUVabn中国opwxyz'  
  select   dbo.f_convert(@s1,0),dbo.f_convert(@s1,1)

sqlserver和oracle中对全半角的转换的更多相关文章

  1. 转 update关联更新在sqlserver和oracle中的实现

    sqlserver和oracle中实现update关联更新的语法不同,都可以通过inline view(内嵌视图)来实现,总的来说sqlserver更简单些. 测试例子如下: create table ...

  2. SqlServer和Oracle中一些常用的sql语句9 SQL优化

    --SQL查询优化 尽量避免使用or,not,distinct运算符,简化连接条件 /*Or运算符*/ use db_business go select * from 仓库 where 城市='北京 ...

  3. SqlServer和Oracle中一些常用的sql语句10 特殊应用

    --482, ORACLE / SQL SERVER --订购数量超过平均值的书籍 WITH Orders_Book AS ( SELECT Book_Name, SUM(Qty) Book_Qty ...

  4. SqlServer和Oracle中一些常用的sql语句6 存储过程

    --不带参数的存储过程 CREATE procedure proc_sql1 as begin declare @i int set @i=0 while @i<26 begin print c ...

  5. SqlServer和Oracle中一些常用的sql语句7 游标

    declare db_cursor4 scroll cursor for select * from 供应商 --声明游标 open db_cursor4 --打开游标 fetch first fro ...

  6. SqlServer和Oracle中一些常用的sql语句8 触发器和事务

    --创建和执行事后触发器 --更新仓库备份表中记录时自动创建数据表且插入三条记录 create trigger db_trigger1 on 仓库备份 for update as begin if E ...

  7. SqlServer和Oracle中一些常用的sql语句5 流程控制语句

    --在sql语句中 begin...end 用来设定一个程序块 相关于c#中的{} declare @yz real,@w int --声明变量 set @w=120 --为变量赋值 if @w< ...

  8. SqlServer和Oracle中一些常用的sql语句4 局部/全局变量

    --把wh1仓库号中姓名含有"平"字的职工工资在原来的基础上加288 update 职工备份 set 工资=工资+288 where 仓库号='wh1' and 姓名 like ' ...

  9. SqlServer和Oracle中一些常用的sql语句3 行列转换

    --217, SQL SERVER SELECT Cust_Name , MAX(CASE WHEN Order_Date ='2009-08-01' THEN AR END) "2009- ...

随机推荐

  1. Hibernate入门(1)-第一个Hibernate程序

    Hibernate入门(1)-第一个Hibernate程序 Hibernate是最著名的ORM工具之一,本系列文章主要学习Hibernate的用法,不涉及Hibernate的原理.本文介绍第一个Hib ...

  2. 典型LoadRunner脚本

    Action() { int rc = 0; int cmp_result = 0; char over_msg[] = "\"真遗憾,好心塞,手慢了一下,已经被人抢走了,再去看看 ...

  3. 微信读书 iOS 性能优化总结

    微信读书作为一款阅读类的新产品,目前还处于快速迭代,不断尝试的过程中,性能问题也在业务的不断累积中逐渐体现出来.最近的 1.3.0 版本发布后,关于性能问题的用户反馈逐渐增多,为此,团队开始做一些针对 ...

  4. 《数据通信与网络》笔记--SCTP

    SCTP(stream control transmission protocol)是一种新的可靠的,面向报文的传输层控制协议.它兼有UDP和TCP的特性,它是可靠的面向报文的协议,它保存报文的边界, ...

  5. jsp页面显示数据库的数据信息表

    在日常jsp开发中:最基本的一个操作之一是把之前添加到数据库中的信息在jsp页面中显示出来,也就是增删改查中的查找的一部分: 下面是以上部分的开发步骤及分析. 1.在jsp页面: <thead& ...

  6. MVC3 使用NPOI导出excel

    NPOI的官方教程:http://tonyqus.sinaapp.com/tutorial 此次项目中使用的是NPOI的1.25版本,项目是MVC3,在这里只贴上controller部分的代码: 1 ...

  7. linx目录结构

    linux中的命令一般存放在/bin目录下的: 以下为linux下的基本目录结构和作用: /根目录./boot引导程序,内核等存放的目录./sbin超级用户可以使用的命令的存放目录./bin普通用户可 ...

  8. Struts 2.x异常:Unable to load configuration..../WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/struts-plugin.xml:30:119

    Struts 2.x异常:Unable to load configuration..../WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/strut ...

  9. hibernate-mapping的各种属性配置

    先给出一份常见的持久化类配置文件大概熟悉一下 <strong><spanstyle="font-size: 18px;"><hibernate-map ...

  10. Codeforces Round #274 (Div. 1) A. Exams 贪心

    A. Exams Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/480/problem/A Des ...