SQL单行函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

两种SQL 函数:

单行函数

多行函数

单行函数:

操作数句对象

接受函数返回一个结果

只对一行进行变换

每行返回一个结果

可以转换数据类型

可以嵌套

参数可以是一列或一个值

单行函数包括:

字符函数,数值函数,日期函数,转换函数,通用函数

字符函数:

大小写控制函数---->这类函数改变字符的大小写LOWER('SQL Course') sql course

UPPER('SQL Course') SQL COURSE INITCAP('SQL Course') Sql Course

eg:

SELECT employee_id, last_name, department_id FROM employees

WHERE LOWER(last_name) = 'higgins';

字符控制函数--->这类函数控制字符

CONCAT

SUBSTR

LENGTH

INSTR

LPAD | RPAD

TRIM

REPLACE

函数结果

CONCAT('Hello', 'World') HelloWorld

SUBSTR('HelloWorld',1,5) Hello

LENGTH('HelloWorld') 10

INSTR('HelloWorld', 'W') 6

LPAD(salary,10,'*') *****24000

RPAD(salary, 10, '*') 24000*****

TRIM('H' FROM 'HelloWorld') elloWorld

SQL> select empno,concat(ENAME,JOB) name,length(ENAME),instr(ENAME,'I') "CONTAIN

S 'I'?" FROM emp;

EMPNO NAME LENGTH(ENAME) CONTAINS 'I'?

---------- ------------------- ------------- -------------

7369 SMITHCLERK 5 3

7499 ALLENSALESMAN 5 0

7521 WARDSALESMAN 4 0

7566 JONESMANAGER 5 0

7654 MARTINSALESMAN 6 5 ......

......

SQL> SELECT lpad(sal,10,'*') from emp;

LPAD(SAL,10,'*')

--------------------

*******800

******1600

******1250

******2975

SQL> SELECT rpad(sal,10,'*') from emp;

RPAD(SAL,10,'*')

--------------------

800*******

1600******

1250******

2975******

1250******

2850******

replace :

SQL> select * from a;

MAPNUM

----------------------------

001#001

001#002

002#002

SQL> select replace (mapnum,substr(mapnum,4,1),null) from a;

REPLACE(MAPNUM,SUBSTR(MAPNUM,4,1),NULL)

---------------------------------------------------------------------

001001

001002

002002

数字函数:

ROUND: 四舍五入

ROUND(45.926, 2) 45.93

TRUNC: 截断

TRUNC(45.926, 2) 45.92

MOD: 求余

MOD(1600, 300) 100

ROUND 函数:

SQL> SELECT ROUND(45.923,2), ROUND(45.923,0),

2 ROUND(45.923,-1)

3 FROM DUAL;

ROUND(45.923,2) ROUND(45.923,0) ROUND(45.923,-1)

--------------- --------------- ----------------

45.92 46 50 DUAL 是一个‘伪表’,可以用来测试函数和表达式

SQL> SELECT ROUND(44.215,-1) from dual;

ROUND(44.215,-1)

----------------

40

SQL> SELECT ROUND(48.215,-1) from dual;

ROUND(48.215,-1)

----------------

50

SQL> SELECT ROUND(68.215,-1) from dual;

ROUND(68.215,-1)

----------------

70

TRUNC 函数:

SQL> SELECT TRUNC(45.923,2), TRUNC(45.923),

2 TRUNC(45.923,-2)

3 FROM DUAL;

TRUNC(45.923,2) TRUNC(45.923) TRUNC(45.923,-2)

--------------- ------------- ----------------

45.92 45 0

SQL> SELECT TRUNC(445.923,-2) from dual;

TRUNC(445.923,-2)

-----------------

相关文档
最新文档