oracle字符串函数(oracle字符串包含字符串函数)

本篇文章给大家谈谈oracle字符串函数,以及oracle字符串包含字符串函数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Oracle函数的使用

接收字符返回字符或数值时可以使用dual伪表

1、把小写字符转换成大写

select supper(“smi”) form dual

2、把大写转换成小写

lower(“SMI”)

3、首字母大写

initcap(“smi”)芦物

4、字符串的连接可以使用concat,也可以使用    建议使用

concat(“hello”“world”) 结果为helloworld

5、字符串的截取,使用substr,第一个参数为字符串,第二个参数是索引,第三个参数结束索引(开始索引使用0和1效果一样)

substr(hello,0,3) 结果为hel

6、获取字符串长度

length(“hello”)

7、字符串替伍哗厅换,第二个参数为被替换的字符串,第三个是替换的字符串

replace(“hello”,“l”,“x”) 结果为hexxo

1、四舍五腔隐入函数ROUND()

默认取整,可以指定保留位数

round(12.523)  结果为13

round(12.537,2) 结果为12.54

2、取整TRUNC

默认全部去掉小数,可以指定位数

trunc(12.789) 结果为12

3、取余数MOD

mod(10,3) 结果为1

oracle中提供了很多和日期相关的函数,包括日期的加减

日期 - 数字 =日期

日期 - 日期 = 数字(天)

1、如:查询员工进入公司的走数

  (sysdate - 入职日期)/7

注:当前日期查询select sysdate form dual

2、查询所有员工进入公司的月数

获取两个时间段的月数使用months_between(sysdate,入职日期)

3、获取几个月后的日期:add_months()

如:获取员工三个月后的日期

add_months(sysdate,3)

4、如求出下星期一是什么时候

指定给出下次某日期数next_date()

next_date(sysdate,“星期一”)

5、求日期的最后一天last_day()

求出本月的最后一天

last_day(sysdate)

1、to_char字符串转换函数

如:将所有员工的入职日期的年、月分开

注:在划分时需要通配符

年:yyyy  月:mm  日:dd

时:HH 分:mi  秒:ss

定义时间格式

to_char(sysdate,“yyyy-mm-dd HH24:mi:ss”)

在10以下的月数前面会默认加上前导零,去除加上fm

to_char(sysdate,“fmyyyy-mm-dd HH24:mi:ss”)

to_char还可以给数字做格式化

如将员工的工资按三位“,”分隔

to_char(工资,“99,999”) 9代表数字

如果想在钱上加上国家符号

美元使用

中文使用l

to_char(工资,“99,999”)

to_char(工资,“l99,999”)

2、to_number数值转换函数,将字符串转换成数值

to_number(“10”) +to_number(“10”)

3、to_date日期转换函数,将字符串数据转换成日期类型

to_date(“1997-05-12”,“YYYY-mm-dd”)  1997/05/12

1、空值处理 nvl

如果在查询的时候存在空值的情况可以使用

nvl(comm,0) 当comm的列值为空时,用0代替

2、decode函数

该函数类似于if ...else if ...else

语法:decode(列名/值,search1,result1,search2,result2,default)

decode(中国,中国,我是中国,美国,我是美国,其他)

如果为中国返回我是中国,为美国返回我是美国,为其他字符则返回其他。

3、case when 与decode差不多

语法 case when city=中国 then 我是中国

              when city=美国 then 我是美国

                else 其他

oracle中查找一个字符串中某个字符的位置是什么函数

查找位置的函数为instr函数。下标以1开始,如果不存在则返回0。

举森清例如下:

1、创建测试表,

create table test_instr(str varchar2(20));

2、插入测试数据

insert into test_instr values ('abc'正猛);

insert into test_instr values ('举春桥cdaf');

insert into test_instr values ('bbed');

3、查询表的记录,select t.*, rowid from test_instr t;

4、编写sql,查找字母'a'在表中各记录的位置;

select t.*, instr(str,'a') location from test_instr t,可以发现,最后一条记录,不存在该字符的话,则返回0。

[img]

怎样在Oracle中拼接字符串

1、创建新的测试数据表,或者可以选择要测试的现有销中表数据。这只是测试字符串连接,不会影响数据内容。从T_BASE_PROVINCE t中选择*,其中t.id = 1。

2、首先介绍下一个||满足连接,||可以一次连接多个字符串,选择t.PROVINCEID ||来自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。

3、由||连接除了字段和字段之间的字符串连接之外,还可以将方法连接到常量字符串选择'省:'||来自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。

4、您还可以使用CONCAT函数连接到字符串,传入函数字符串1和顷物字符串2,两个参数。参数的方式也支持常量字符串从T_BASE_PROVINCE t中选择CONCAT(t.PROVINCEID,t.PROVINCE),其中t.id = 1。

5、如果要连接的字符串有两个以上的参数,如下例所示,则有4个字符串连接。运行后,测试发现异常,参数无效。从T_BASE_PROVINCE t中选择CONCAT('省ID:',t.PROVINCEID,'省:',t.PROVINCE),其中t.id = 1; -  ERROR ORA-00909:参数数量无效。

6、对于上述问题,如果连接参数亏乎山大于2,则可以选择CONCAT嵌套方法。从T_BASE_PROVINCE t中选择CONCAT(CONCAT('省ID:',t.PROVINCEID),'省:'),t.PROVINCE),其中t.id = 1。

Oracle | 字符串操作 - SUBSTR 和 INSTR函数

一、字符串查找函数  INSTR()

二、字符串截取函数 SUBSTR()

三、实际应用: SUBSTR 和 INSTR 结合使用

例:(1) INSTR('todayisabeautifulday' , 'to')  

  尺颤               返回结果:1 (因为字符串索引号从1开始,所以返回1,不是返回0)

      (2)  INSTR('todayisabeautifulday' , 'day',1, 1)

                 返回结果: 3 (返回第一次查出 day 的位置)

      (3) 若改成 INSTR('todayisabeautifulday' , 'day',1, 2)

                则返回结果为第二次出现 day 的位置:18

      (4) INSTR('today is a beautiful day' , 'is',1, 1)

                返回结果:7 (空格也是一个字符)

例:(1)SUBSTR ('ABCDEFG', 2, 3)

                返回结果:'BCD' (从第2个字符开始,截取长度为3的子串)

       (2)substr('ABCDEFG',  -2) 

                返回结果:'FG'   (从倒数第2个字符开始,截取到源串的末尾)

     仔谨  (3)substr('ABCDEFG', -4, 2)

               返回结果:'DE' (从倒数第4个字符开始,截取长度为2的子串)

      (4)substr('ABCDEFG', 4, -1)

               返回结果: 空字符串 (截取长度小于1时,返回空字符串 )

结合 SUBSTR()和 INSTR()来实念困基现截取字符串中特定字符前后的字符串

(1)截取 “hello,world” 字符串中 “,” 分隔符之前的字符串

(2)截取 “hello,world, ye” 字符串中第1次出现的 “,” 字符和第2次出现的 “,” 字符之间的字符串

参考链接:

关于oracle字符串函数和oracle字符串包含字符串函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表