oracle

来源:互联网 发布:淘宝联盟推广首页 编辑:程序博客网 时间:2024/06/06 00:32
1.将几列的数据合并显示使用连接符号 "||";
select [column1]||[column2]||[column3]... [alias] from [tablename]
select last_name||' '||first_name "Employees" from s_emp;
命令描述:查询s_emp表中的last_name和first_name列中的所有数据并且将两列的数据合并成一列以别名"Employees"显示
select last_name||' '||first_name||','||title "Employees" from s_emp;
命令描述:查询s_emp表中的last_name和first_name和title列中的所有数据合并成一列以别名"Employees"显示
2.
NVL 函数
NVL([column],[default])
注意:column是什么类型,default数据也要是同样类型
select salary+salary*nvl(commission_pct/100,0) from s_emp;

命令描述:查询s_emp表中的salary列中的所有数据,并且将有销售业绩的金额加入进去。

3.

日期函数
SYSDATE 获取系统中日期时间
select sysdate from dual;
dual代表的是系统中的假表;

计算两个时间之间的差值并且利用月份作为计算的单位
months_between([date1],[date2])
如:select months_between('01-sep-08','01-sep-07') Result
   from dual

计算一段月份后的日期
add_months([date],[num])
如:select add_months('01-jan-07',6) Result from dual

计算下一个星期几的具体日期
next_day([date],[day|num])
如:select next_day('01-sep-08','friday') "DATE",
    next_day('01-sep-08',6) "DAY" from dual

获取每个月份的最后一个日期
last_day([date])
如:select last_day('01-sep-08') "DATE" from dual;

4.
计算日期
round([date],[parameter]) 保留相关日期
trunc([date],[parameter])
如:
select round(sysdate,'year') from dual;
select round(sysdate,'month') from dual;
select round(sysdate,'day') from dual;
select trunc(sysdate,'year') from dual;
select trunc(sysdate,'month') from dual;
select trunc(sysdate,'day') from dual;
5.
类型转换
TO_CHAR   将其他的类型的数据转换成字符串或字符类型显示
TO_NUMBER 将字符串类型的数字转换成数字类型显示
TO_DATE   将字符串类型的日期转换成日期类型,或者将日期类型转换成所需要的格式类型;

TO_CHAR([PARAMETER])如:
SELECT TO_CHAR(SYSDATE) FROM DUAL;
select last_name,to_char(start_date,'fmDdspth "of" Month YYYY fmHH:MI:SS AM') HIERDATE
FROM s_emp 
where start_date like '%91';

select 'Order '||to_char(id)||' was filled for a total of'|| to_char(total,'fm$9,999,999')
from s_ord
where date_shipped='21-SEP-92'

TO_NUMBER(char)如:
SELECT TO_NUMBER('345.98') FROM DUAL;
SELECT TO_NUMBER('345.98')*12 FROM DUAL;
TO_DATE([DATE],FORMATE)如:
SELECT TO_DATE('2008-07-18','YYYY-MM-DD') FROM DUAL;
SELECT TO_DATE('2008-18-08','YYYY-DD-MM') FROM DUAL;
select to_date('10 September 1992','dd Month YYYY') from dual;



原创粉丝点击