Oracle下SQL语句练习笔记(2019/7/18)常用函数

1、字符函数

         函数    说明                                               示例             结果
ASCII(x)返回字符x的ASCII码。SELECT ASCII('a') FROM DUAL97
CONCAT(x,y)连接字符串x和y。SELECT CONCAT('Hello', ' world') FROM DUALHello world
INSTR(x, str. Start, n)在x中查找str,可以指定从start开始,也可以指定从第n次开始。SELECT INSTR('Hello world','or') FROM DUAL8
LENGTH(x)返回x的长度。SELECT LENGTH('Hello') FROM DUAL5
LOWER(x)x转换为小写。SELECT LOWER('hElLO') FROM DUALhello
UPPER(x)x转换为大写。SELECT UPPER('hello') FROM DUALHELLO
LTRIM(x,trim_str)把x的左边截去trim_str字符串,缺省截去空格。SELECT LTRIM('===HELLO===', '=') FROM DUALHELLO===
RTRIM(x,trim_str)把x的右边截去trim_str字符串,缺省截去空格。SELECT RTRIM('===HELLO===', '=') FROM DUAL===HELLO
TRIM(trim_str FROM x)把x的两边截去trim_str字符串,缺省截去空格。

SELECT '='||TRIM('   HELLO   ')||'=' FROM DUAL

SELECT TRIM('=' FROM '===HELLO===') FROM DUAL

 

=HELLO=

HELLO

REPLACE(x,old,new)在x中查找old,并替换为new。SELECT REPLACE('ABCDE','CD','AAA') FROM DUALABAAAE
SUBSTR(x, start ,length)返回x的字串,从staart处开始,截取length个字符,缺省length,默认到结尾

SELECT SUBSTR('ABCDE',2) FROM DUAL

SELECT SUBSTR('ABCDE',2,3) FROM DUAL

BCDE

BCD

2、数字函数

函数

说明

示例

ABS(X)

X的绝对值

ABS(-3)=3

ACOS(X)

X的反余弦

ACOS(1)=0

COS(X)

余弦

COS(1)=0.54030230586814

CEIL(X)

大于或等于X的最小值

CEIL(5.4)=6

FLOOR(X)

小于或等于X的最大值

FLOOR(5.8)=5

LOG(X,Y)

X为底Y的对数

LOG(2,4)=2

MOD(X,Y)

X除以Y的余数

MOD(8,3)=2

POWER(X,Y)

X的Y次幂

POWER(2,3)=8

ROUND(X[,Y])

X在第Y位四舍五入

ROUND(3.456,2)=3.46

SQRT(X)

X的平方根

SQRT(4)=2

TRUNC(X[,Y])

X在第Y位截断

TRUNC(3.456,2)=3.45

 

说明:

(1)ROUND(X[,Y]),四舍五入。

在缺省y时,默认y=0;比如:ROUND(3.56)=4。

y是正整数,就是四舍五入到小数点后y位。ROUND(5.654,2)=5.65。

y是负整数,四舍五入到小数点左边|y|位。ROUND(351.654,-2)=400。

 

(2)TRUNC(x[,y]),直接截取,不四舍五入。

在缺省y时,默认y=0;比如:TRUNC (3.56)=3。

y是正整数,就是四舍五入到小数点后y位。TRUNC (5.654,2)=5.65。

y是负整数,四舍五入到小数点左边|y|位。TRUNC (351.654,-2)=300。

3、日期函数

此模块内容较多单独新发一篇学习笔记。

4、转换函数

函数说明示例结果
TO_CHAR(d|n[,fmt])把日期和数字转换为制定格式的字符串。Fmt是格式化字符串

(1)SELECT TO_CHAR

(SYSDATE,'YYYY"年"MM"月"DD"日" HH24:MI:SS')

"date" FROM dual;

(2)SELECT TO_CHAR

(-123123.45,'L9.9EEEEPR')

"date" FROM dual;

TO_DATE(X,[,fmt])把一个字符串以fmt格式转换成一个日期类型  
TO_NUMBER(X,[,fmt])把一个字符串以fmt格式转换为一个数字

SELECT TO_NUMBER

('-$12,345.67','$99,999.99')

"num" FROM dual;

代码解析:

在格式化字符串中,使用双引号对非格式化字符进行引用

针对数字的格式化,格式化字符有:

参数

示例

说明

9

999

指定位置处显示数字

.

9.9

指定位置返回小数点

,

99,99

指定位置返回一个逗号

$

$999

数字开头返回一个美元符号

EEEE

9.99EEEE

科学计数法表示

L

L999

数字前加一个本地货币符号

PR

999PR

如果数字式负数则用尖括号进行表示

 

5、 其它单行函数

函数说明
NVL(X,VALUE)如果X为空,返回value,否则返回X
NVL2(x,value1,value2)如果x非空,返回value1,否则返回value2。

 

6、聚合函数

详见其他笔记。

参考资料:https://www.cnblogs.com/xingminghui/p/7966005.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值