Oracle之sql函数之一
来源:互联网 发布:mac无法拷贝文件到u盘 编辑:程序博客网 时间:2024/06/06 20:24
一、 单行函数之字符函数
大小写控制函数:LOWER,UPPER,INITCAP。
LOWER('SQL Course')----------结果:sql course;
UPPER('SQL Course')-----------结果:SQL COURSE;
INITCAP('SQL Course')----------结果:Sql Course;
select * from tab_name where LOWER(NAME) = 'jack';------这样可以确保无论数据库中存放的是Jack还是JACK都可以查找到该数据。
字符控制函数:CONCAT,SUBSTR,LENGTH,INSTR,LPAD,RPAD,TRIM,REPLACE。
CONCAT:连接两个字符串(只能连接两个字符串,如果要连接多个,则可以用连接符||来连接)
CONCAT('HELLO','WORLD')-----------输出HELLOWORLD;
SUBSTR:SUBSTR(字符串,截取开始位置,截取长度)---默认是从左边开始,如果length没有填写,则截取到字符串的末尾。
SELECT substr('This is a test', 6, 2) FROM DUAL-------------返回 is;
SELECT substr('This is a test', 6) FROM DUAL-----------------返回is a test;
SELECT substr('This is a test', -9,2) FROM DUAL--------------返回is;----从右边往左边数第九位,然后往右边截取2位。
SELECT substr('This is a test', -9) FROM DUAL----------返回is a test;
LENGTH:LENGTH(字符串)---返回字符长度
SELECT LENGTH('world') FROM DUAL----返回5;
SELECT LENGTH('你好') FROM DUAL------返回2;
PS:这里要注意另外一个函数LENGTHB(字符串),它返回的是字节长度
SELECT LENGTHB('world') FROM DUAL----返回5;
SELECT LENGTHB('你好') FROM DUAL------返回4;
INSTR:INSTR(源字符串, 要查找的字符串, 从第几个字符开始--默认是第一个, 要找到第几个匹配的序号--默认是第一个)返回找到的位置,如果找不到则返回0.
SELECT instr('helloworld','o') FROM DUAL----返回5;
SELECT instr('helloworld','o',1) FROM DUAL---返回5;
SELECT instr('helloworld','o',6) FROM DUAL---返回7;
SELECT instr('helloworld','o',1,2) FROM DUAL---返回7;---从第一个字符开始查找o,返回第二个o的位置。
LPAD/RPAD:LPAD(字符串,截取长度,添加的字符串--默认为空格)从左边开始,RPAD从右边开始;在字符串长度够长的情况下,RPAD和LPAD的效果是一样的。不够长的情况下,LPAD是从左边开始补齐,RPAD是从右边开始补齐。
select lpad('test',10) from dual;---返回"test"
select lpad('test',10,'*') from dual;---返回"******test"
select lpad('helloworld',5) from dual---返回hello;
TRIM:1. trim()删除字符串两边的空格。
2. ltrim()删除字符串左边的空格。
3. rtrim()删除字符串右边的空格。
4. trim('字符1' from '字符串2') 分别从字符2串的两边开始,删除指定的字符1。
5. trim([leading | trailing | both] trim_char from string) 从字符串String中删除指定的字符trim_char。
leading:从字符串的头开始删除。
trailing:从字符串的尾部开始删除。
borth:从字符串的两边删除。
6. tim()只能删除半角空格。
trim(' tech ') would return 'tech';
trim(' ' from ' tech ') would return 'tech';
trim(leading '0' from '000123') would return '123';
trim(trailing '1' from 'Tech1') would return 'Tech';
trim(both '1' from '123Tech111') would return '23Tech';
二 单行函数之数字函数
ROUND: 四舍五入
ROUND(45.926, 2)-------------45.93
TRUNC: 截断
TRUNC(45.926, 2)-------------45.92
MOD: 求余
MOD(1600, 300) ---------------100
1 round函数可以用来对数据进行四舍五入,用法如下:
ROUND( number, decimal_places ),
number : 需四舍五入处理的数值
decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 )返回值类型数字例子:select round(123.456, 0) from dual; 回传 123
select round(126.456, -1) from dual;回传130
select round(123.456, 2) from dual; 回传 123.46
select round(123.456, 3) from dual; 回传 123.456
select round(-123.456, 2) from dual; 回传 -123.46
--Oracle trunc()函数的用法
/**************日期********************/
TRUNC(for dates)
TRUNC函数为指定元素而截去的日期值。
其具体的语法格式如下:
TRUNC(date[,fmt])
1.select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-18
2.select trunc(sysdate, 'mm') from dual --2011-3-1 返回当月第一天.
3.select trunc(sysdate,'yy') from dual --2011-1-1 返回当年第一天
4.select trunc(sysdate,'dd') from dual --2011-3-18 返回当前年月日
5.select trunc(sysdate,'yyyy') from dual --2011-1-1 返回当年第一天
6.select trunc(sysdate,'d') from dual --2011-3-13 (星期天)返回当前星期的第一天
7.select trunc(sysdate, 'hh') from dual --2011-3-18 14:00:00 当前时间为14:41
8.select trunc(sysdate, 'mi') from dual --2011-3-18 14:41:00 TRUNC()函数没有秒的精确
/***************数字********************/
TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。可选项,忽略它则截去所有的小数部分,Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
9.select trunc(123.458) from dual --123
10.select trunc(123.458,0) from dual --123
11.select trunc(123.458,1) from dual --123.4
12.select trunc(123.458,-1) from dual --120
13.select trunc(123.458,-4) from dual --0
14.select trunc(123.458,4) from dual --123.458
15.select trunc(123) from dual --123
16.select trunc(123,1) from dual --123
17.select trunc(123,-1) from dual --120
- Oracle之sql函数之一
- Oracle数据库之SQL---select之一
- Oracle数据库之SQL函数
- Oracle PL/SQL之GROUPING 函数
- Oracle数据库之SQL分组函数
- Oracle 常用SQL总结之一
- oracle sql优化规范之一
- ORACLE SQL性能优化之一
- Oracle SQL性能优化 之一
- oracle sql优化学习之一
- Oracle数据库之SQL单行函数---字符函数之TRIM
- SQL常用函数之一 Stuff()
- Oracle内置函数之SQL中的单记录函数
- Oracle数据库之SQL单行函数---字符函数
- Oracle数据库之SQL单行函数---字符函数续
- Oracle数据库之SQL单行函数---数字函数
- Oracle数据库之SQL单行函数---日期函数集锦
- Oracle-21-SQL单行函数之字符函数
- HTTP状态码
- 微信、淘宝一个跑不了——免费wifi
- 网上看到了一个关于黑客的练习方式
- 发送文件
- 修改了项目的snmp的table
- Oracle之sql函数之一
- tinyxml解析UTF-8字符集的xml
- 二进制加法与减法
- WIN7下最新版Eclipse3.7中文字体很小
- JAVA——Swing
- shutdown 与 close 的区别
- activity的隐藏生命周期 仅仅执行onresume
- n-维实向量空间
- 比较 stm32的 DMA_GetITStatus 和 DMA_GetFlagStatus