oracle sql mod,oracle sql 学习笔记1

1.set verify on

打开绑定变量显示

SQL> select first_name,job_id,&&colnum1 from employees where &&colnum1='&num'order by &&colnum1;

old   1: select first_name,job_id,&&colnum1 from employees where &&colnum1='&num'order by &&colnum1

new   1: select first_name,job_id,DEPARTMENT_ID from employees where DEPARTMENT_ID='100'order by DEPARTMENT_ID

2.DEFINE employee_num = 200

使用DEFINE命令给变量创建和指派数值

使用UNDEFINE 命令删除变量

3.& 与&&的区别符号替代变量

SELECT employee_id, last_name, salary, department_id

FROM employees

WHERE employee_id = &employee_num ;

SELECT employee_id, last_name, job_id, &&column_name

FROM employees

ORDER BY &column_name ;

&每个变量都要输入,而&&只要输入一次就会记录,后面重复相同的变量自动赋值。

4.LOWER变小写函数

SQL> select LOWER('SQL Course') from dual;

LOWER('SQL

----------

sql course

5.UPPER变大写函数

SQL> select UPPER('SQL Course') from dual;

UPPER('SQL

----------

SQL COURSE

6.首字母大写函数

SQL> select INITCAP('SQL Course') from dual;

INITCAP('S

----------

Sql Course

7.CONCAT连接字符串

SQL> select CONCAT('Hello', 'World') from dual;

CONCAT('HE

----------

HelloWorld

8.substr截取字符串

SQL> select SUBSTR('HelloWorld',1,5) from dual;

SUBST

-----

Hello

9.字符串长度length

SQL> select LENGTH('HelloWorld') from dual;

LENGTH('HELLOWORLD')

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

10

10.查看字符或字符串在什么位置instr

SQL> select INSTR('HelloWorld', 'Wo') from dual;

INSTR('HELLOWORLD','W')

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

6

11.左边填充LPAD

SQL> select LPAD(salary,10,'*') from employees;

12.右边填充RPAD

SQL> select RPAD(salary,10,'*') from employees;

13.REPLACE替换字符串

SQL> select REPLACE ('JACK and JUE','J','BL') from dual;

REPLACE('JACKA

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

BLACK and BLUE

14.去除字符TRIM

select TRIM('H' FROM 'HelloWorld') from dual;

15.ROUND: 对一个特定的十进制数进行四舍五入

SQL> select ROUND(45.926, 2) from dual;

ROUND(45.926,2)

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

45.93

16.TRUNC:对一个特定的十进制数进行截断

SQL> select trunc(45.926, 2) from dual;

TRUNC(45.926,2)

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

45.92

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

2  TRUNC(45.923,-1)

3  FROM DUAL;

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

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

45.92            45               40

17. MOD:除法的返回余数

SQL> select MOD(1600, 300) from dual;

MOD(1600,300)

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

100

18.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

19.MONTHS_BETWEEN 月份差函数

SQL> select MONTHS_BETWEEN ('01-SEP-95','11-JAN-94') from dual;

MONTHS_BETWEEN('01-SEP-95','11-JAN-94')

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

19.6774194

20.ADD_MONTHS N个月之后

SQL> select ADD_MONTHS ('31-JAN-96',1) from dual;

ADD_MONTHS('

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

29-FEB-96

21.NEXT_DAY(下个星期五是哪天)

SQL> select NEXT_DAY('01-SEP-95','FRIDAY') from dual;

21.本月的最后一天LAST_DAY

select LAST_DAY(sysdate) from dual;

22.ROUND和TRUNC 对于日期的应用

QL> select ROUND(SYSDATE,'MONTH') from dual

2  ;

ROUND(SYSDAT

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

01-MAR-11

SQL> select ROUND(SYSDATE,'DAY') from dual

2  ;

ROUND(SYSDAT

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

27-FEB-11

SQL> select ROUND(SYSDATE,'YEAR') from dual

2  ;

ROUND(SYSDAT

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

01-JAN-11

SQL> select TRUNC(SYSDATE,'YEAR') from dual

2  ;

TRUNC(SYSDAT

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

01-JAN-11

SQL> select TRUNC(SYSDATE,'MONTH') from dual

2  ;

TRUNC(SYSDAT

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

01-FEB-11

SQL> select TRUNC(SYSDATE,'DAY') from dual

2  ;

TRUNC(SYSDAT

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

20-FEB-11

SQL> select sysdate from dual

2  ;

SYSDATE

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

25-FEB-11

这里我们注意一下红色的实现,按照我们的想法应该返回是2月26日才对,但是却是27日,看一下SQL Reference就会知道是怎么回事了,可以看看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值