oracle函数 extract(c1 from d1)】的更多相关文章

[功能]:日期/时间d1中,参数(c1)的值 [参数]:d1日期型(date)/日期时间型(timestamp),c1为字符型(参数) [参数表]:c1对应的参数表详见示例 [返回]:字符 [示例] select extract(hour from timestamp '2001-2-16 2:38:40 ' ) 小时, extract(minute from timestamp '2001-2-16 2:38:40 ' ) 分钟, extract(second from timestamp '…
[功能]返回列表中第一个非空的表达式,如果所有表达式都为空值则返回1个空值 [参数]c1, c2, ...,cn,字符型/数值型/日期型,必须类型相同或null [返回]同参数类型 [说明]从Oracle 9i版开始,COALESCE函数在很多情况下就成为替代CASE语句的一条捷径 [示例] select COALESCE(null,3*5,44) hz from dual; 返回15 select COALESCE(0,3*5,44) hz from dual; 返回0 select COAL…
[功能]返回字符串的长度; [说明]多字节符(汉字.全角符等),按1个字符计算 [参数]C1 字符串 [返回]数值型 [示例] SQL> select length('高乾竞'),length('北京市海锭区'),length('北京TO_CHAR') from dual; Oracle中的字符函数中,有一类函数是求字符长度的函数,length.lengthB.lengthC.length2.length4几个函数中比较常用的是length.lengthB. 他们的含义分别是: Length函数…
[功能]转换varchar2类型为rowid值 [参数]c1,字符串,长度为18的字符串,字符串必须符合rowid格式 [返回]返回rowid值 [示例] SELECT chartorowid('AAAADeAABAAAAZSAAA') FROM DUAL; [说明] 在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件.块.行上. 在重复的记录中,可能所有列的内容都相同,但rowid不会相同.…
[功能]在一个字符串中搜索指定的字符,返回发现指定的字符的位置; [说明]多字节符(汉字.全角符等),按1个字符计算 [参数] C1    被搜索的字符串 C2    希望搜索的字符串 I     搜索的开始位置,默认为1 J     第J次出现的位置,默认为1 [返回]数值 [示例]select instr('oracle traning','ra',1,2) instring from dual; 返回:9 [示例]select instr('重庆某软件公司','某',1,1),instrb…
[功能]将字符串中的全角转化为半角 [参数]c1,字符型 [返回]字符串 [示例] SQL> select to_multi_byte('高A') text from dual; test ---- 高A…
[功能]将字符串中的半角转化为全角 [参数]c1,字符型 [返回]字符串 [示例] SQL> select to_multi_byte('高A') text from dual; test -- 高A…
[功能]将一个二进制构成的字符串转换为十六进制 [参数]c1,二进制的字符串 [返回]字符串 [示例] select RAWTOHEX('A123')  from dual;…
[功能]将源字符串c1 从一个语言字符集set2转换到另一个目的set1字符集 [参数]c1,字符串,set1,set2为字符型参数 [返回]字符串 [示例] select convert('strutz','we8hp','f7dec') "conversion" from dual; conver ------ strutz select convert(name,'us7ascii','zhs16cgb231280') "conversion" from du…
[功能]返回字符集名称参应id值 [参数]c1,字符型 [返回]数值型 sql> select nls_charset_id('zhs16gbk') from dual; nls_charset_id('zhs16gbk')…
[功能]返回系统c1对应的c2的值.可以使用在SQL/PLSQL中,但不可以用在并行查询或者RAC环境中 [参数] c1,'USERENV' c2,参数表,详见示例 [返回]字符串 [示例] select SYS_CONTEXT('USERENV','TERMINAL') terminal, SYS_CONTEXT('USERENV','LANGUAGE') language, SYS_CONTEXT('USERENV','SESSIONID') sessionid, SYS_CONTEXT('…
[功能]删除左边和右边出现的字符串 [参数]C2 删除前字符串 c1 删除字符串,默认为空格 [返回]字符型 [示例] select TRIM('X' from 'XXXgao qian jingXXXX'),TRIM('X' from 'XXXgaoXXjingXXXX') text from dual; 返回:gao qian jing         gaoXXjing [相似]LTRIM()删除左边出现的字符串  RTRIM()删除右边出现的字符串…
[功能]将字符表达式值中,指定字符替换为新字符 [说明]多字节符(汉字.全角符等),按1个字符计算 [参数] c1   希望被替换的字符或变量 c2   查询原始的字符集 c3   替换新的字符集,将c2对应顺序字符,替换为c3对应顺序字符 如果c3长度大于c2,则c3长出后面的字符无效 如果c3长度小于c2,则c2长出后面的字符均替换为空(删除) 如果c3长度为0,则返回空字符串. 如果c2里字符重复,按首次位置为替换依据 [返回]字符型 [示例] select TRANSLATE('he l…
[功能]取子字符串 [说明]多字节符(汉字.全角符等),按2个字符计算 [参数]在字符表达式c1里,从n1开始取n2个字符;若不指定n2,则从第y个字符直到结束的字串. [返回]字符型,如果从多字符右边开始,则用空格表示. [示例] select substr('我手机13012345678',4,11),substrb('我手机13012345678',4,11),substrb('我手机13012345678',3,11) test from dual; 返回:13012345678, 机1…
[功能]取子字符串 [说明]多字节符(汉字.全角符等),按1个字符计算 [参数]在字符表达式c1里,从n1开始取n2个字符;若不指定n2,则从第y个字符直到结束的字串. [返回]字符型 [示例] SQL> select substr('13088888888',3,8) test from dual; test -------- 08888888…
[功能]返回字符串参数的语音表示形式 [参数]c1,字符型 [返回]字符串 [说明]相对于比较一些读音相同,但是拼写不同的单词是非常有用的. 计算语音的算法: 1.保留字符串首字母,但删除a.e.h.i.o.w.y 2.将下表中的数字赋给相对应的字母 (1) 1:b.f.p.v (2) 2:c.g.k.q.s.x.z (3) 3:d.t (4) 4:l (5) 5:m.n (6) 6:r 3. 如果字符串中存在拥有相同数字的2个以上(包含2个)的字母在一起(例如b和f),或者只有h或w,则删除其…
[功能]将字符表达式值中,部分相同字符串,替换成新的字符串 [参数] c1   希望被替换的字符或变量 c2   被替换的字符串 c3   要替换的字符串,默认为空(即删除之意,不是空格) [返回]字符型 [示例] SQL> select replace('he love you','he','i') test from dual; test ------------------------------ i love you…
[功能]删除右边出现的字符串 [参数]C1 字符串 c2 追加字符串,默认为空格 [返回]字符型 [示例] SQL> select RTRIM('gao qian jingXXXX','X') text from dual; text ----------------- gao qian jing [相似]LTRIM()删除左边出现的字符串 [相反]RPAD() 在列的右边粘贴字符…
[功能]删除左边出现的字符串 [参数]C1 字符串 c2 追加字符串,默认为空格 [返回]字符型 [示例] SQL> select LTRIM('   gao qian jing',' ') text from dual; 或:select LTRIM('   gao qian jing') text from dual; text ----------------- gao qian jing [相似]RTRIM()删除右边出现的字符串 [相反]LPAD() 在列的左边粘贴字符…
[功能]在字符串c1的右边用字符串c2填充,直到长度为n时为止 [参数]C1 字符串 n 追加后字符总长度 c2 追加字符串,默认为空格 [返回]字符型 [说明]如果c1长度大于n,则返回c1左边n个字符 如果如果c1长度小于n,c1和c2连接后大于n,则返回连接后的左边n个字符 如果如果c1长度小于n,c1和c2连接后小于n,则返回c1与多个重复c2连接(总长度>=n)后的左边n个字符 [示例] SQL> select rpad('gao',10,'*a') from dual; rpad(…
[功能]在字符串c1的左边用字符串c2填充,直到长度为n时为止 [参数]C1 字符串 n 追加后字符总长度 c2 追加字符串,默认为空格 [返回]字符型 [说明]如果c1长度大于n,则返回c1左边n个字符 如果如果c1长度小于n,c2和c1连接后大于n,则返回连接后的右边n个字符 [示例] SQL> select lpad('gao',10,'*') from dual; lpad('gao',10,'*') ----------------- *******gao 不够字符则用*来填满 [相似…
[功能]返回字符串的长度; [说明]多字节符(汉字.全角符等),按1个字符计算 [参数]C1 字符串 [返回]数值型 [示例] SQL> select length('高乾竞'),length('北京市海锭区'),length('北京TO_CHAR') from dual; length('高乾竞')    length('北京市海锭区')     length('北京TO_CHAR') ----------------- ----------------            --------…
[功能]在一个字符串中搜索指定的字符,返回发现指定的字符的位置; [说明]多字节符(汉字.全角符等),按2个字符计算 [参数] C1    被搜索的字符串 C2    希望搜索的字符串 I     搜索的开始位置,默认为1 J     第J次出现的位置,默认为1 [返回]数值 [示例]select instr('重庆某软件公司','某',1,1),instrb('重庆某软件公司','某',1,1) instring from dual; 返回:3,5…
[功能]将字符串全部转为大写 [参数]c1,字符表达式 [返回]字符型 [示例] SQL> select upper('AaBbCcDd') upper from dual; UPPER -------- AABBCCDD [同类]LOWER()将字符串全部转为小写…
[功能]:将字符串全部转为小写 [参数]:c1,字符表达式 [返回]:字符型 [示例] SQL> select lower('AaBbCcDd')AaBbCcDd from dual; AABBCCDD -------- aabbccdd [同类]UPPER()将字符串全部转为大写.…
[功能]返回字符串并将字符串的第一个字母变为大写,其它字母小写; [参数]c1字符型表达式 [返回]字符型 [示例] SQL> select initcap('smith abc aBC') upp from dual; UPP ----- Smith Abc Abc…
[功能]连接两个字符串 [参数]c1,c2 字符型表达式 [返回]字符型 同:c1||c2 [示例] select concat('010-','88888888')||'转23' 高乾竞电话 from dual; 高乾竞电话 ---------------- 010-88888888转23…
[功能]:变动日期时间数值 [参数]:c1为数字字符串或日期时间字符串,set1为日期参数 [参数表]:set1具体参照示例 [返回]:日期时间格式的数值,前面多个+号 以天或天更小单位时可用数值表达式借用,如1表示1天,1/24表示1小时,1/24/60表示1分钟 [示例] select trunc(sysdate)+(interval '1' second), --加1秒(1/24/60/60) trunc(sysdate)+(interval '1' minute), --加1分钟(1/2…
oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 语法如下: extract ( { year | month | day | hour | minute | second } | { timezone_hour | timezone_minute } | { timezone_region | timezone_abbr } from { date_value | interval_value } ) 只可以从一个da…
感于总有些网友提出一些非常基础的问题,比如有没有实现某某功能的函数啊,某某函数是做什么用的啊,格式是什么等等,同时也感受到自己对oracle函数认识的不足,于是集中月余时间专注于oracle函数,小有心得不敢私藏,发之与诸公共享. 本文并不准备介绍全部的oracle函数,当前情势下,俺也还没这个时间,需要学习的东西太多了,要把多数时间花在学习经常能用上的技术方面:),所以如 果是准备深入了解所有oracle函数的朋友,还是去关注:Oracle SQL Reference官方文档更靠谱一些. 本文…