Oracle SQL语句命令---数据类型与函数

数据类型以及相关函数

DQL语句:

* 用于查询数据库中的数据

* 必须包含两个子句:SELECT,FROM。

select子句用来指定要查询的字段,可以是表中的字段,函数和表达式。

from子句是用来指定数据来源的表

SELECT * FROM test;             //查询test表中所有列的内容

select name,sex,age from test;   //查询test表中name,sex和age列的内容

查询表中数据满足条件的数据

select name from test where age<30;

//查询test表中年龄小于30的人的名字。

查看公司员工工资大于3000的人的名字

select name from test where salary>3000;

将两个参数连接到一起返回

* CONCAT函数

select concat(字段1,字段2...字段n) from test;

拼接3个及多个

select concat(concat(name,','),sal) from test;

//先拼接为"name,在拼接工资"

“||”可以连接字符串

select name||','||sex from emp;

//连接姓名和性别。

伪表

伪表不是一张真的表格,当查询内容与任何表数据无关时,可以使用伪表,

SELECT SYSDATE FROM test;

将字符串转换为大小写

upper('abcdef');

//转换为大写

lower('ABCDEF');

//转换为小写

INITCAP('hello,world!');

TRIM,LTRIM,RTRIM 去除字符串两端的指定字符

SELECT TRIM('要去除的字符' from '原字符') from test;
select trim('e' from 'ehelloe') from test;  //结果为hello

去除字符串左边的指定字符

select LTRIM('aaahello','a') from test; //hello

去除右边的指定字符

select RTRIM('helloaaa','a') from test; //hello

LPAD,RPAD补位函数

将指定字符串显示指定长度,当不足时补充若干指定字符已达到该长度

SELECT name RPAD(salary,5,'$') from test;

SUBSTR(char,m[,n]) 截取指定字符串,从m开始,连续截取n个字符

,若不指定n或者超过实际可截取的长度,则都是截取到字符串末尾。

* 数据库中下表从1开始,若m为负数,则是从倒数位置开始截取

select substr('Hello sql',1,5) from test; //Hello

select substr('Hello sql',-3,3) from test; //sql

INSTR(char1,char2[,m,n])

查看char2在char1中的位置,找不到则返回0

m为从哪里开始查找,不写默认为1,

n为第几次出现,不写默认为1.

select instr('thinking','in',2,2) from test; //6

数据类型

数字函数:

round(n,m):

四舍五入保留n小数点后m位。

若m不写或0则表示保留到个位。

若是负数则是保留到十位以上数字。

select round(55.678,2) from test;//55.68

select round(55.678,0) from test;//56

select round(55.678,-2)from test;//100

TRUNC函数

与round函数一样,作用是截取数字

select TRUNC(55.678,2) from test;//55.67

select TRUNC(55.678,0) from test;//55

select TRUNC(55.678,-1)from test;//50

MOD(m,n)

求余数,n为0则直接返回m

select MOD(sal,1000) from test;

日期类型

两个常用关键字

Sysdate:对应数据库一个内置函数,返回一个date类型数据,

表示当前系统时间。

SYSTIMESTAMP:返回一个时间戳类型的当前系统时间。

select sysdate from dual; //显示当前系统日期

插入日期时,使用TO_DATE函数

insert into 表名(hir) values(IN_TO('1991-1-2','YYYY-MM-DD'));

to_date()

可以将给定的字符串按照指定的日期格式转换为date类型值。

select to_date('1991-01-22 18:22:21','yyyy-mm-dd hh24:mi:ss') from dual;

to_char函数

可以将date按照给定的日期格式转换为字符串

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')from dual;

日期类型是可以计算的

对一个日期加减一个数字等同于加减天数。

两个日期做减法,差为相差的天数

查看明天的日期

select sysdate+1 from dual;

查看当月月底

select LAST_DAY(SYSDATE) FROM dual;

NEXT_DAY(date,i);

返回给定日期第二天开始一周内指定周几的日期

i可以是1-7,分别表示周日,周一...周六。

select next_day(sysdate,5) from dual;

查看1980年入职的员工

SELECT ename,hiredate from emp where extract(YEAR FROM hiredate)=1980;

空值函数

NVL(arg1,arg2)

当arg1为null时,函数返回arg2,否则返回arg1自身。

Last modification:January 8th, 2019 at 06:15 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment