日期格式参数及其含义说明

   日期:2020-05-13     浏览:118    评论:0    
核心提示:日期格式参数及其含义说明D 一周中的星期几DAY 天的名字,使用空格填充到9个字符DD 月中的第几天DDD 年中的第几天DY 天的简写名IW ISO标准的年中的第几周IYYY ISO标准的四位年份YYYY 四位年份YYY,YY,Y 年份的最后三位,两位,一位HH 小时,按12小时计HH24 小时,按24小时计MI 分SS 秒MM 月Mon 月份的简写Month 月份的全名W 该月的第几个星期WW 年中的第几个星期...

日期格式参数及其含义说明

D 一周中的星期几
DAY 天的名字,使用空格填充到9个字符
DD 月中的第几天
DDD 年中的第几天
DY 天的简写名
IW ISO标准的年中的第几周
IYYY ISO标准的四位年份
YYYY 四位年份
YYY,YY,Y 年份的最后三位,两位,一位
HH 小时,按12小时计
HH24 小时,按24小时计
MI 分
SS 秒
MM 月
Mon 月份的简写
Month 月份的全名
W 该月的第几个星期
WW 年中的第几个星期
*

/
--显示当前时间,查询当前时间是这年的第几天?是这个星期的第几天?是这个月的第几天?


select sysdate,to_char(sysdate,'ddd-dd-d') "年-月-星期"
from dual;
--显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序。

select concat(last_name,first_name),to_char(start_date,'yyyy-mm')
from s_emp
order by to_char(start_date,'mm') ;
--找出在(任何年份的)7月受聘的所有雇员

select emp.last_name,start_date 
from s_emp emp
where to_char(start_date,'mm') = '07';
--显示所有雇员的姓名以及满10年服务年限的日期

select concat(last_name,first_name),start_date
from s_emp
where months_between(sysdate,start_date)>=10*12;
--对于每个雇员,显示其加入公司的天数
select last_name,trunc(sysdate-start_date) day
from s_emp;
--显示所有雇员的姓名的前三个字符 :substr 截取 concat 拼接 
select substr(concat(last_name,first_name),1,3) 
from s_emp;
--显示正好为15个字符的雇员姓名 :条件 名字为15个字符 
select concat(last_name,first_name) name
from s_emp
where length(concat(last_name,first_name)) = 15;
--显示只有首字母大写的所有雇员的姓名 条件 :姓名中首字母大写
select concat(last_name,first_name)
from s_emp
where concat(last_name,first_name)= initcap(concat(last_name,first_name));

--以年、月和日显示所有雇员的服务年限(入职了多少年多少月多少天) 无条件
select last_name ,
      trunc((sysdate-start_date)/365), -- 当前日期-入职时间 除以 365 年份
      trunc(mod(months_between(sysdate,start_date),12)), -- 进行取余 求出月份
      trunc(sysdate - add_months(start_date,months_between(sysdate,start_date)))-- months_between两个日期间差了多少个月 add_months 在第一个参数上加上第二个参数的月分 
from s_emp;
--找出早于23年之前受雇的雇员 条件 早于23年之前(判断入职日期到现在是否大于23年)
select last_name ,start_date 
from s_emp
where months_between(sysdate,start_date) > 12*23;
--以这种2001/07/08格式来显示入职时间
select to_char( start_date,'yyyy/mm/dd')
from s_emp;
--多表查询:

--1 查询所有员工的ID,名字和所在部门的名称 (员工表 关联 部门表 消除笛卡尔积)
select emp.id, emp.last_name,dept.name
from s_emp emp,s_dept dept
where emp.dept_id = dept.id;
--2查询部门名称包含Ad的员工姓名薪水 条件 (部门的名称 包含 Ad )
select dept.name,emp.id,emp.last_name,emp.salary
from s_emp emp ,s_dept dept
where emp.dept_id = dept.id and dept.name like '%Ad%';
--3查询欧洲销售部门的薪水在1000到3000的员工信息 Europe 欧洲 Sales 销售


select e.id , e.last_name , r.name , d.name 
from s_emp e , s_dept d , s_region r
where e.dept_id=d.id and d.region_id=r.id and r.name='Europe'  
                     and d.name='Sales' and salary between 1000 and 3000;
--4 查询部门名称是5位,该部门员工的薪水不等于1500,并按员工的薪水降序排序 执行顺序 1.from 2.where 3.select 4.order by
select emp.last_name, emp.salary
from s_emp emp,s_dept dept
where emp.dept_id = dept.id and length(dept.name) = 5 and salary !=1500
order by salary desc;
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服