1、字符函数

         函数

    说明

                                               示例

             结果

ASCII(x)

返回字符x的ASCII码。

SELECT ASCII('a') FROM DUAL

97

CONCAT(x,y)

连接字符串x和y。

SELECT CONCAT('Hello', ' world') FROM DUAL

Hello world

INSTR(x, str. Start, n)

在x中查找str,可以指定从start开始,也可以指定从第n次开始。

SELECT INSTR('Hello world','or') FROM DUAL

8

LENGTH(x)

返回x的长度。

SELECT LENGTH('Hello') FROM DUAL

5

LOWER(x)

x转换为小写。

SELECT LOWER('hElLO') FROM DUAL

hello

UPPER(x)

x转换为大写。

SELECT UPPER('hello') FROM DUAL

HELLO

LTRIM(x,trim_str)

把x的左边截去trim_str字符串,缺省截去空格。

SELECT LTRIM('===HELLO===', '=') FROM DUAL

HELLO===

RTRIM(x,trim_str)

把x的右边截去trim_str字符串,缺省截去空格。

SELECT RTRIM('===HELLO===', '=') FROM DUAL

===HELLO

TRIM(trim_str FROM x)

把x的两边截去trim_str字符串,缺省截去空格。

=HELLO=

HELLO

REPLACE(x,old,new)

在x中查找old,并替换为new。

SELECT REPLACE('ABCDE','CD','AAA') FROM DUAL

ABAAAE

SUBSTR(x, start ,length)

返回x的字串,从staart处开始,截取length个字符,缺省length,默认到结尾

SELECT SUBSTR('ABCDE',2) FROM DUAL

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

BCDE

BCD

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

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

 

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;

sql server 正负转换 sql中正数转负数_指定位置

sql server 正负转换 sql中正数转负数_字符串_02

TO_DATE(X,[,fmt])

把一个字符串以fmt格式转换成一个日期类型

 

 

TO_NUMBER(X,[,fmt])

把一个字符串以fmt格式转换为一个数字

SELECT TO_NUMBER

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

"num" FROM dual;

sql server 正负转换 sql中正数转负数_sql server 正负转换_03

代码解析:

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

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

参数

示例

说明

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、聚合函数

详见其他笔记。