
oracle中最简单获取日期的方式是通过查询sysdate来获取。
语句如下:
select sysdate from dual;结果:
如果只获取日期部分:
select to_char(sysdate,'yyyy-mm-dd') from dual;结果:
ALTER session SET nls_date_format='yyyy-mm-dd';
with mycte AS (
SELECT TRUNC( SYSDATE + 1, 'Q' ) AS TopDay FROM DUAL
)
SELECT TopDay -1 AS Result FROM mycte UNION ALL
SELECT ADD_MONTHS(TopDay,3) -1 AS Result FROM mycte UNION ALL
SELECT ADD_MONTHS(TopDay,6) -1 AS Result FROM mycte UNION ALL
SELECT ADD_MONTHS(TopDay,9) -1 AS Result FROM mycte UNION ALL
SELECT ADD_MONTHS(TopDay,12) -1 AS Result FROM mycte;
RESULT
----------
2013-03-31
2013-06-30
2013-09-30
2013-12-31
2014-03-31
-- 假如今天是 季度的最后一天(例如 2013-06-30 )
with mycte AS (
SELECT TRUNC( TO_DATE('20130630', 'YYYYMMDD') + 1, 'Q' ) AS TopDay FROM DUAL
)
SELECT TopDay -1 AS Result FROM mycte UNION ALL
SELECT ADD_MONTHS(TopDay,3) -1 AS Result FROM mycte UNION ALL
SELECT ADD_MONTHS(TopDay,6) -1 AS Result FROM mycte UNION ALL
SELECT ADD_MONTHS(TopDay,9) -1 AS Result FROM mycte UNION ALL
SELECT ADD_MONTHS(TopDay,12) -1 AS Result FROM mycte;
RESULT
----------
2013-06-30
2013-09-30
2013-12-31
2014-03-31
2014-06-30
select ADD_MONTHS(DATE '2017-1-1',03) FROM dual;
select ADD_MONTHS(DATE '2017-1-1',13) FROM dual;
select ADD_MONTHS(DATE '2017-1-1',23) FROM dual;
select ADD_MONTHS(DATE '2017-1-1',33) FROM dual;
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、之后在该界面中,点击左上角“新建查询”选项。
3、接着在该界面中,输入获取今年的上一年和下一年(去年与明年)的sql语句“select year(getdate())-1 AS "去年" , year(getdate())+1 AS "明年"”。
4、然后在该界面中,点击左上方“执行”按钮。
5、最后在该界面中,显示获取今年的上一年和下一年(去年与明年)成功。
假设排序的字段名字为field1降序, table name: tab
SELECT field1, field2, field3 fieldn
FROM (SELECT field1, field2, field3fieldn, ROW_NUMBER() OVER(ORDER BY field1 DESC) AS RK ) FROM tab ) t
WHERE rk = 1
00904是说列名不正确,仔细看了下,AS RK后面多了一个括号,下面这样就可以了
SELECT field1, field2, field3 fieldn
FROM (SELECT field1, field2, field3fieldn,
ROW_NUMBER() OVER(ORDER BY field1 DESC) AS RK
FROM tab
where field1=表名字段名) t
WHERE rk = 1
我给你改一下吧,你写的那个效率很低的
SELECT t1a, t1b, t2field1, t2field2, t2field3t2fieldn
FROM lkk t1,
(SELECT field1, field2, field3fieldn,
ROW_NUMBER() OVER(ORDER BY field1 DESC) AS RK
FROM tab) t
WHERE tfield1 = t1a
AND trk = 1
select distinct to_char(dt, 'yyyy-mm-dd') as years,to_char(dt, 'iw') as week
from (select (to_date('2013-4-15', 'yyyy-mm-dd') + rownum - 1) dtfrom dual connect by rownum <= to_date('2013-7-15', 'yyyy-mm-dd') -to_date('2013-4-15', 'yyyy-mm-dd'))
group by to_char(dt, 'iw')
ORDER BY years,week
以上就是关于oracle 获取日期全部的内容,包括:oracle 获取日期、oracle sql 最近5个季度的最后一天、oracle数据库怎么用sql或者pl/sql描述季度初,求具体的语句!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)