oracle中,有一个test表,表中有一date类型的date字段,如何根据条件查询date数据啊?

oracle中,有一个test表,表中有一date类型的date字段,如何根据条件查询date数据啊?,第1张

以下每一句效果都一样:

1、Select * from a where date between to_date('2018-1-1', 'yyyy-mm-dd') and to_date('2018-8-1','yyyy-mm-dd')

2、Select * from a where date between to_date('2018/1/1', 'yyyy/mm/dd') and to_date('2018/8/1','yyyy/mm/dd')

3、Select * from a where date between to_date('2018-1-1', 'yyyy/mm/dd') and to_date('2018/8/1','yyyy-mm-dd')

扩展资料

数据库中Date与DateTime的区别

Date:代表xxxx年xx月xx日 只表示前面的日期,是SQL Server 2008新引进的数据类型。它表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日,只需要3个字节的存储空间。

DateTime:代表xxxx年xx月xx日xx时xx分xx秒 精确到时分秒,用于做时间戳,日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000 到9999年12月31日23:59:59.997 ,精确到3.33毫秒,它需要8个字节的存储空间。

这是查询与当前时间在同一周内的数据,sql语句是:

select * from 表 where datediff(week,时间字段,getdate())=0

也可以稍作修改用来查询与指定日期在同一周内的数据:

select * from 表 where datediff(week,时间字段,'2002-01-01')=0

像你的这个表,查询一段时间(需要指定前后日期的)

select * from 表 where startdate between 指定日期 and 指定日期

select * from 表 where leavedate between 指定日期 and 指定日期

查询一段时间( 不需要固定时间的,只需要前后间隔时间的)

select * from 表 where datediff(day,startdate,leavedate)<7 and startdate = 指定日期select * from 表 where datediff(day,startdate,leavedate)<7 and leavedate = 指定日期

这是查询此日期开始时间到离开时间在七天之间的所有数据,后面的and部分按需要加。

1、打开plsql,连接上oracle数据库,使用sql语句创建一张测试表。

2、使用sql语句插入3行测试数据到上一步创建的测试表中,日期栏位使用系统当前时间插入。

3、执行完sql之后,记得点击提交按钮,提交更改到数据库保存,否则,数据不会真正存储到数据库中。

4、提交完之后,查询刚刚插入的数据,select

*

from

TestDate。

5、修改第一行Updatedate栏位的值,此时直接拼接日期格式的字符串更新,oracle是无法执行的。

6、修改第一行Updatedate栏位的值,将字符串的日期转换为日期类型,之后再修改,就可以更新了。

7、修改第一行Updatedate栏位的值,使用当前日期减去2天,直接减2即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9729235.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存