select to_char(to_date('2015/05/17 14:15:16','yyyy/mm/dd hh24:mi:ss'),'yyyy/mm/dd'),--年月日 2015/05/17
to_char(to_date('2015/05/17 14:15:16','yyyy/mm/dd hh24:mi:ss'),'yyyy'),--年 2015
to_char(to_date('2015/05/17 14:15:16','yyyy/mm/dd hh24:mi:ss'),'mm'),--月 05
to_char(to_date('2015/05/17 14:15:16','yyyy/mm/dd hh24:mi:ss'),'dd')--日 17
from dual;
1、打开plsql,连接上oracle数据库,使用sql语句创建一张测试表。
2、使用sql语句插入3行测试数据到上一步创建的测试表中,日期栏位使用系统当前时间插入。
3、执行完sql之后,记得点击提交按钮,提交更改到数据库保存,否则,数据不会真正存储到数据库中。
4、提交完之后,查询刚刚插入的数据,select
from
TestDate。
5、修改第一行Updatedate栏位的值,此时直接拼接日期格式的字符串更新,oracle是无法执行的。
6、修改第一行Updatedate栏位的值,将字符串的日期转换为日期类型,之后再修改,就可以更新了。
7、修改第一行Updatedate栏位的值,使用当前日期减去2天,直接减2即可。
select from table
where column between add_months(sysdate, -1) and sysdate;
table 需要替换成 你要查询table name。
column 就是 下条件的栏位。。
这个sql 已经经过test了。
with t as
(select rownum - 1 rn from dual connect by rownum <= 1000)
select to_char(add_months(trunc(sysdate), -rn), 'yyyy-mm')
from t
where to_char(add_months(trunc(sysdate), -rn), 'yyyy') between 2017 and 2018
order by to_char(add_months(trunc(sysdate), -rn), 'yyyy-mm')
结果:
修改语句中2017和2018的地方就行,最大支持查询1000行数据,要是再多的话,修改语句第二行<=1000的那个位置。
以上就是关于求助Oracle 怎么取一个表中所有日期的年月日全部的内容,包括:求助Oracle 怎么取一个表中所有日期的年月日、oracle数据库 date时间类型查询昨天、前7天、前30天、前1年的数据,sql语句怎么写、oracle中怎样获得前一个月的日期,比如现在是3月1号,我要怎样才能获得2月1号到3月一号之间的信息呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)