在Oracle数据库开发过程中,经常会遇到汉字和数字组合的字符串,需要处理这样的字符串,比如是否有汉字、显示相同长度数据时对齐等。、

1、判断字符串中是否有中文,length和lengthb函数的应用:

select length('test'),lengthb('test'),length('测试'),lengthb('测试') from dual

length() 返回的是:字符数;

lengthb()返回的是:字节数

可以通过这两者的区别来判断某个字符串中是否有中文:

select * from tbl_name where length(col_a) <> lengthb(col_a)

通过这两个函数实现如下效果,将给定字符串中汉字拼接,非汉字字符排除。

实现函数:

CREATE OR REPLACE FUNCTION SUBSTR_TEST(PCOLIN IN VARCHAR2) RETURN VARCHAR2 AS

V_STR VARCHAR2(200);

V_LENGTH NUMBER;

CUR_CHAR VARCHAR(10);

C_COUNT NUMBER;

I NUMBER;

BEGIN

V_LENGTH :=0;

I:=1;

SELECT LENGTH(PCOLIN) INTO V_LENGTH FROM DUAL;

WHILE I< V_LENGTH+1 LOOP

CUR_CHAR:=SUBSTR(PCOLIN,I,1);

SELECT COUNT(1) INTO C_COUNT FROM DUAL WHERE LENGTH(CUR_CHAR) <> LENGTHB(CUR_CHAR);

IF C_COUNT > 0 THEN

V_STR:=V_STR||CUR_CHAR;

END IF;

I:=I+1;

END LOOP;

RETURN(V_STR);

END;

select substr_test(ename),ename from emp where length(ename) <> lengthb(ename)

2、将字符串中非中文字符转成中文,也就是转成全角字符

函数  to_multi_byte   实现

select to_multi_byte(e.ename),e.ename from emp e;

Oracle数字转汉字过程,oracle中如何将字符和数字转成中文相关推荐

  1. qt中qlineedit和qtextedit右键菜单翻译成中文

    qt中qlineedit和qtextedit右键菜单翻译成中文 qlineedit和qtextedit属于qwidget控件,在源码中找到../widgets/widgets.pro,在.pro文件最 ...

  2. java正则表达式匹配数字范围_在java中怎么利用正则表达式匹配数字

    在java中怎么利用正则表达式匹配数字 发布时间:2020-12-03 17:47:12 来源:亿速云 阅读:58 作者:Leah 在java中怎么利用正则表达式匹配数字?针对这个问题,这篇文章详细介 ...

  3. android 调取数字键盘,如何在android中的EditText上显示数字键盘?

    如何在android中的EditText上显示数字键盘? 我只是想在某个EditText具有焦点时立即切换到数字键盘模式. 13个解决方案 239 votes 您可以为EditText配置EditTe ...

  4. Oracle学习笔记:oracle和serverver在过程sql中通过select对变量进行赋值的区别

    变量的声明: oracle的变量必须在在declare部分声明--意思是必须建立begin end块,块结构也强制变量必须先声明后使用,即oracle变量在过程内是有不同作用域.不同的生存期的:同一变 ...

  5. oracle不显示表和过程,oracle表连接——处理连接过程中另外一张表没有相关数据不显示问题...

    一个数据表基本上很难满足我们的查询要求,同时,将所有的数据都保存在一个表格中显然也不是一种好的数据库设计,为了避免数据的冗余,删除.更新异常,我们通常需要建立一张外键表,通过表连接,来获取我们自己想要 ...

  6. Oracle MySQL Hive sql判断字符串中包含某个字符的个数

    用length函数求出字符串长度,再对源数据中某个字符去掉求字符串长度,两个长度相减,得出包含某个字符的个数 MySQL所有版本: select length('2022-11-16') - leng ...

  7. Python统计字符串中的中英文字符、数字空格,特殊字符

    # -*- coding:utf8 -*-import stringfrom collections import namedtuple def str_count(s): '''找出字符串中的中英文 ...

  8. java中如何检查字符串都是数字_如何在Java中检查字符串是否为数字?

    我们将检查字符串是否为数字-借助逻辑,我们将解决此问题,第一步,我们将使用一个名为str的字符串变量,并将任何值存储在其中. 在第二步中,我们将使用一个名为str_numeric的布尔变量,该变量存储 ...

  9. mysql 只取出数字_如何从MySQL中的字符串仅获取数字?

    小编典典 如果字符串以数字开头,然后包含非数字字符,则可以使用该CAST()函数,或者通过添加一个将其隐式转换为数字0: SELECT CAST('1234abc' AS UNSIGNED); -- ...

  10. 已知由单链表表示的线性表中含有三类字符(数字,字母和其他字符)试编写算法来构造三个循环链表,使每个表中只含某一类字符,且利用原表中的结点空间作为这三个表的结点空间,头结点可另辟空间。

    核心算法: void Classify(LinkList LA,LinkList LB,LinkList LC){//LA为原表,LB,LC为已经初始化的单链表头结点Node *pa,*pb,*pc; ...

最新文章

  1. 今天意外和身份证结缘
  2. iphone编译时的注意事项
  3. 09--MySQL自学教程:多表查询之内连接、外连接以及【子查询】
  4. 实现 LRU 缓存机制
  5. Git使用教程:真正手把手教你使用git!
  6. Supplier 点participate时候用USB KEY的身份验证
  7. 关于车机互联方式的一点想法
  8. Oracle SQL Developer 调试存储过程步骤(Oracle)
  9. 问答| 为什么四轮驱动机器人的转向方式是滑动转向呢?
  10. AnyTXT Searcher中文版-比Google Desktop都牛连everything软件作者都拍手称赞的文本搜索工具
  11. 设计基于计算机的机械手控制系统,基于PLC的工业机械手控制系统设计
  12. 苹果自带浏览器显示无法连接服务器,为什么苹果自带浏览器无法连接到服务器怎么解决...
  13. 陈丽莎计算机科学与技术专业,关于表彰我校成人高等学历教育2015届毕业生学习奖和优秀学生干部获奖者的通知...
  14. ETL为什么经常变成ELT甚至LET?
  15. OpenCore Configurator for Mac(黑苹果系统引导工具)
  16. java软件工程师工作业绩_java软件工程师,工作总结
  17. 最强打包插件,支持fir,蒲公英上传, 360加固 ,自动生成二维码
  18. PHP 获取字符串长度
  19. 双评价技术指南2020_双评价技术指南试评价培训交流会成功召开
  20. D2 前端技术论坛流水账

热门文章

  1. 手机控制树莓派驱动投影仪DLPDLCR230NPEVM
  2. sqlserver 附加数据库方法
  3. 【学习体会】Lighttools8.4.0:简单光学系统实例
  4. spring cloud bus的使用及使用bus发布自定义事件
  5. lt;祝我生日快乐gt; 的词曲写的真好..杰伦果然是我心中的偶像
  6. 养一只”无限猴子”帮你测试
  7. 创意CSS时钟网页代码
  8. MySQL原理与实践(二):一条update语句引出MySQL日志系统
  9. python画笔属性_python 画图 turtle 模块介绍之(一)
  10. 【冷启动】快手《POSO: Personalized Cold Start Modules for Large-scale Recommender Systems》