OracleSQL讲义(Student)(4)

2019-05-18 11:18

例子25: 先工资降序,再按提成升序显示员工?

Select id,first_name,salary ,commission_pct from s_emp

Order by salary desc , 4 asc

例子26: 按年薪降序显示员工?

Select id,first_name,salary*12 from s_emp Order by salary*12 desc

注意: order by 后可以使用字段名、表达式、位置、别名

十二、

SQL函数

单值函数 --- 单值函数 字符相关函数: lower 转成小写 upper 转成大写

多值 函数 initcap 首字母大写,其它小写 concat 字符串拼接 substr 求子串

length 返回字符串的长度 from dual

select substr(‘hello world!’, -2,3 )from dual 例子24:列出每个员工名字的最后两个字符?

Select id,last_name ,substr(last_name,-2,2) from

s_emp

Select id,first_name,to_char(salary,’99,999,999.99’) from s_emp

数值类型函数

ROUND 四舍五入 round TRUNC 截取 trunc

例子25:

ROUND (45.923, 2) → 45.92 ROUND (45.923, 0) → 46 ROUND (45.923, -1) → 50 TRUNC (45.923, 2) → 45.92 TRUNC (45.923) → 45 TRUNC (45.923, -1) → 40 日期类型函数

--- Oracle默认的两种日期格式:'DD-MON-YY' 和 'DD-MON-RR'

--- 日期是格式敏感的。 --- 命令:

alter

session

set

nls_date_format='yyyy-mm-dd hh24:mi:ss'; 例子26:

insert into test values('23-AUG-10');

insert into test values(to_date('2010 08 23 10:10:10',

'yyyy mm dd hh24:mi:ss'));

insert into test values('2010-08-23');

例子27:按照'yyyy mm dd hh24:mi:ss'的格式,输出42部门员工的入职时间? ---处理字符串的函数:

fm: 去掉空格和前导0。 rtrim(); ltrim(); trim();

例子28:列出5月份入职的员工(first_name,start_date)?

注意:请使用多种实现方式。 --- 两位年和四位年的标识法的区别

--- 日期运算:(单位:天)

Select sysdate-1, sysdate, sysdate+1 from dual;

例子29:求10分钟之后的日期时间?

1天=24小时 1小时= 1/24天 1小时=60分钟 10分钟=1/6小时 10分钟 :1/24 * 1/6 天

select sysdate+ 1/144 from dual; --- 日期函数: ROUND TRUNC

MONTHS_BETWEEN ADD_MONTHS NEXT_DAY LAST_DAY 例子31: Select

sysdate,sysdate+1,sysdate+1/(24*60),sysdate+1/(24*60*60) select

add_months(trunc(sysdate,'year'),12)-trunc(sysdate,'year') from dual计算一年的天数 今天是一年的第几天

Select to_char(sysdate,’DDD’) from dual;

求今年的第Sysdate = '25-MAY-95' 几天 ROUND(sysdate,'MONTH') ROUND(sysdate,'YEAR') TRUNC(sysdate,'MONTH') TRUNC(sysdate,'YEAR')

01-JUN-95 01-JAN-95

01-MAY-95

01-JAN-95

Sysdate = '2010 08 23 06:30:34'

TRUNC(sysdate,‘DAY') 2010 08 22 00:00:00 TRUNC(sysdate,‘DD') 2010 08 23 00:00:00 MONTHS_BETWEEN(‘01-SEP-95’,‘11-JAN-94’) 19.774194

ADD_MONTHS('11-JAN-94',6) NEXT_DAY('01-SEP-95','FRIDAY')

'11-JUL-94' '08-SEP-95'

LAST_DAY('01-SEP-95') '30-SEP-95' ※ ※

求五月份入职的员工名单

select id,first_name,start_date from s_emp


OracleSQL讲义(Student)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:地基与基础试题库(含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: