当前位置:  数据库>oracle

Oracle 11G函数整理

    来源: 互联网  发布时间:2017-05-31

    本文导语: 返回字符的字符函数 1、CHR(n) [n为正整数,如果n>256,就去MOD(n,256)] select CHR(65) a1,CHR(67)||CHR(65)||CHR(84) a2 FROM DUAL;   2、CONCAT(ch1,ch2) 拼接字符串[cha1,ch2为任意字符CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOB] select CONCAT('A','1') a1,CONCAT('张三','A'...

返回字符的字符函数

1、CHR(n) [n为正整数,如果n>256,就去MOD(n,256)]

select CHR(65) a1,CHR(67)||CHR(65)||CHR(84) a2 FROM DUAL;

 

2、CONCAT(ch1,ch2) 拼接字符串[cha1,ch2为任意字符CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOB]

select CONCAT('A','1') a1,CONCAT('张三','A') a2 from dual;

CONCAT(CLOB, NCLOB) returns NCLOB

CONCAT(NCLOB, NCHAR) returns NCLOB

CONCAT(NCLOB, CHAR) returns NCLOB

CONCAT(NCHAR, CLOB) returns NCLOB

 

3、INITCAP(ch) 单次首字母大写,其他小写

select INITCAP('hello world DBA') a1 from dual;

 

4、LOWER(ch) 将字符串转换为小写

select LOWER('HEllo World DBA') a1 from dual;

 

5、LPAD(expr1,n,expr2) 从expr1中截取n个字符返回,如果长度不够就用expr2填充左边

select LPAD('Hello World',21,'ABC') a1 from dual;

 

6、LTRIM(ch,set)将字符串ch左边的包含在set中的字符移除,如股票不指定set,就为空格,中间有其他间隔就停止截取

select LTRIM('B_AHello','AB_') a1,LTRIM('B_FAHello','AB_') a2 from dual;

 

7、NCHR(n) 相当于 CHR(n USINGNCHAR_CS)

select NCHR(67) a1,NCHR(1458) a2from dual;

 

8、NLS_INITCAP(ch,nlspara)针对字符串单词首字母大写,其余小写,可以指定排序规则nlspara,也可以不指定采用默认规则

select NLS_INITCAP('hello world') a1, NLS_INITCAP('hello world','NLS_SORT=XDutch') a2from dual;

 

9、NLS_LOWER(ch, nlspara)将字符串转换为小写字母,可以指定排序规则

SELECT NLS_LOWER('Hello World') a1,NLS_LOWER('NOKTASINDA','NLS_SORT =XTurkish') a2FROM DUAL;

 

10、NLS_UPPER(ch, nlspara)将字符串转换为大写字母,可以指定排序规则

SELECT NLS_UPPER ('Hello World') a1,NLS_UPPER ('NOKTASINDA','NLS_SORT = XTurkish') a2FROM DUAL;

 

 

11、NLSSORT(ch, nlspara)返回字符串的字节码。用于排序

拼音:SELECT * FROM表名 ORDER BY NLSSORT(字段名,'NLS_SORT = SCHINESE_PINYIN_M')
笔划:SELECT * FROM表名 ORDER BY NLSSORT(字段名,'NLS_SORT = SCHINESE_STROKE_M')
部首:SELECT * FROM表名 ORDER BY NLSSORT(字段名,'NLS_SORT = SCHINESE_RADICAL_M')

 

12、REGEXP_REPLACE(ch_source,pattern)正则表达式替换

SELECT REGEXP_REPLACE(phone_number,'([[:digit:]]{3}).([[:digit:]]{3}).([[:digit:]]{4})','(1) 2-3') a1 FROM employees;

SELECT REGEXP_REPLACE('500 Oracle Parkway,Redwood Shores, CA','( ){2,}', ' ') a1FROM DUAL;

 

13、REGEXP_SUBSTR(ch_source,pattern)正则表达式截取

SELECT REGEXP_SUBSTR('500 Oracle Parkway,Redwood Shores, CA',',[^,]+,') a1 FROM DUAL;

 

14、REPLACE(ch,search_string,replace_string)字符串替换

SELECT REPLACE('JACK and JUE','J','哈哈') a1 FROM DUAL;

 

15、RPAD(expr1,n,expr2) 从expr1中截取n个字符返回,如果长度不够就用expr2填充右边,默认填补空格

select RPAD('Hello World',21,'ABC') a1, RPAD('Hello World',21) a2 from dual;

 

16、RTRIM(ch,set) 将字符串ch右边的包含在set中的字符移除,如股票不指定set,就为空格,中间有其他间隔就停止截取

select RTRIM('HelloSSL_B','AB_') a1,RTRIM('B_FAHello_','AB_') a2 from dual;

 

17、SOUNDEX(ch) 返回字符串参数的语音表示形式,相对于比较一些读音相同,但是拼写不同的单词是非常有用的,在中文环境中没多大用处

 

18、SUBSTR(ch,position,length)截取字符串

select substr('Hello World',1,2) a1,substr('Hello World',2) a2 from dual;

 

19、TRANSLATE(ch,from_string,to_string)与REPLACE函数功能类似

针对ch字符串,将from_string中的字符串一一替换为to_string

select translate('123abc','2dc','4e') a1,translate('123abc','2','4e')a2from dual;

translate('123abc','2dc','4e'):将会把2->4,d->e,c->’’

translate('123abc','2','4e'):将会把2->4

 

20、TREAT

 

21、TRIM(ch fromsource_string) 去掉两边ch

TRIM(LEADINGch fromsource_string) 去掉左边ch

TRIM(TRAILINGch fromsource_string) 去掉右边ch

TRIM(BOTHch fromsource_string) 去掉两边 ch

select TRIM(LEADING'H'from'Hello World') a1,TRIM(TRAILING'd'from'Hello World') a2,TRIM(BOTH'H'from'Hello H WorldH') a3 from dual;

select TRIM('A'from'A Hello World A') a1 from dual;

 

22、UPPER(ch) 字符转换为大写

select upper('Hello World') a1 from dual;

 

 

字符函数返回数值

1、ASCII(ch) 返回字符的ASCII码,ch可以是CHAR,VARCHAR2, NCHAR, or NVARCHAR2

select ASCII('A') a1,ASCII('张') a2 from dual;

 

2、INSTR(source,ch,position,n)在source中从位置position开始搜索ch,第n次出现的位置,没有匹配的返回0,默认从1开始第一次出现

select INSTR('Hello World','o',3,2) a1,INSTR('Hello World','o') a2 from dual;

 

3、LENGTH(ch) 返回字符串长度

select LENGTH('Hello张三') a1from dual;

 

4、REGEXP_COUNT(source_string,pattern,position,match_para)

正则表达式规则匹配字符串在原字符串中出现的次数

SELECT REGEXP_COUNT('123123123123123','(12)3',1,'i') a1FROM DUAL;

 

5、REGEXP_INSTR(source_string,pattern)正则表达式匹配字符串位置

SELECT REGEXP_INSTR('500 Oracle Parkway,Redwood Shores, CA','[^ ]+', 1,6) a1FROM DUAL;

 

NLS字符函数

1、NLS_CHARSET_DECL_LEN(byte_count,char_set_id)

返回一个 NCHAR 列的声明长度(也就是字符个数)。byte_count 参数是列的宽度。'char_set_id' 参数是字符集 ID

SELECT NLS_CHARSET_DECL_LEN(200, nls_charset_id('ja16eucfixed')) a1 FROM DUAL;

 

2、NLS_CHARSET_ID(string)返回字符集名称 对应的字符集ID

SELECT NLS_CHARSET_ID('ja16euc') a1FROM DUAL;

 

3、NLS_CHARSET_NAME(number)返回字符集 ID对应的字符集名称

SELECT NLS_CHARSET_NAME(831) a1FROM DUAL;


    
 
 

您可能感兴趣的文章:

  • Oracle 系统变量函数介绍
  • Oracle 系统变量函数用法指南
  • Oracle中decode函数的用法
  • Oracle round()函数与trunc()函数区别介绍
  • oracle中lpad函数的用法详解
  • MySQL实现类似Oracle中的decode()函数的功能
  • Oracle函数substr(str1, pos, [len])
  • Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
  • SQL中Charindex和Oracle中对应的函数Instr对比
  • apache通过php的oci函数读取Oracle(字符集ZHS16GBK)时,显示乱码,如何解决?
  • Oracle Max函数使用中出现的问题
  • oracle合并列的函数wm_concat的使用详解
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • c#中oracle to_date函数用法举例
  • Oracle 函数用法之decode
  • Oracle过程与函数的区别分析
  • Oracle层次查询和with函数的使用示例
  • oracle的nvl函数的使用介绍
  • c#中oracle的to_date函数使用方法
  • Oracle中nul()函数
  • ORACLE数据库空间整理心得
  • Oracle数据库碎片整理
  • Oracle注入简单命令整理
  • JSP连接MySql/MS SQL Server/Oracle数据库连接方法[整理]
  • linux4.2下oracle10g整理文档
  • Oracle入侵常用操作命令整理
  • 逐步讲解 Oracle数据库碎片如何整理
  • oracle数据库创建备份与恢复脚本整理
  • 整理汇总Oracle常用命令 方便你我他
  • Oracle和SQL语法区别整理
  • Oracle日期函数知识整理
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • oracle 11g最新版官方下载地址
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • Linux版本的Oracle 11g将首先被发布
  • 关于Linux下oracle是10g?还是11g?
  • Oracle 11g 相关工具netca,dbca乱码之解决
  • fedora10安装oracle11g提示物理内存不足怎么办?
  • Oracle 11g解锁scott
  • Oracle 11g R2 数据库将在9月发布
  • Oracle内存数据库11g和高速缓存11g上市
  • 有人在fedora 10下安装 oracle database 11g,没有呀?提供个安装步骤
  • 在ubuntu10.04上安装oracle11g失败
  • 关于Oracle 11g 闪回的一个小问题
  • Oracle11g备份和恢复功能的提高
  • linux redhat5.6安装oracle11g在自动创建实例时停住不动,有图
  • Oracle针对Eclipse 11g发布开发包
  • centos5.4安装oracle11g的问题
  • Oracle 11g 数据库 Alert日志的新发展
  • Redhat 6 安装 oracle 11g2的问题
  • 基于Linux环境的Oracle 11g数据库正式推出
  • Oracle 11G密码180天过期后的修改方法
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • 虚拟机装Oracle R12与Oracle10g
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle 数据库开发工具 Oracle SQL Developer
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,