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