Oracle中日期作为条件的查询

1.范围日期的查询:

select * from goods
where g_time between
to_date(‘2018/12/26 10:01:59‘,‘yyyy-MM-dd hh:mi:ss‘)
and to_date(‘2018/12/26 10:05:17‘,‘ yyyy-MM-dd hh:mi:ss‘);

2.等于某个日期的查询:

select * from goods
where g_time=to_date(‘2018/12/26 10:05:17‘,‘yyyy-MM-dd hh:mi:ss‘);

3.当前日期的前几天和后几天的数据:

select * from goods

where g_time >= trunc(sysdate)-6  and < trunc(sysdate)-3;

为什么要用trunc(sysdate)呢
因为当前时间一般不会正好是0点,比如当前是11点,-6就是6天前的11 点开始

4.查询出每个月倒数第三天上架的商品信息:

select g.* from goods g where g.g_time=last_day(g.g_time)-2;

原文地址:https://www.cnblogs.com/leafarmyarmy/p/10185519.html

时间: 2024-10-16 20:00:45

Oracle中日期作为条件的查询的相关文章

oracle中日期格式&#39;yyyy-mm-dd&#39;和&#39;yyyymmdd&#39;的区别

对于年月日中"日"是个位的情况下,处理不一样,'yyyymmdd'格式没问题,而式'yyyy-mm-dd'格式则不行,请看: SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; Session altered. SQL> select to_date('2007059','yyyy-mm-dd hh24:mi:ss') from dual;select to_date('2007059','yy

关于oracle中日期使用

spl> select * from emp         where dates          between         to_date('2007-06-12 10:00:00', 'yyyy-mm-dd hh24:mi:ss')         and         to_date('2007-06-12 10:00:00', 'yyyy-mm-dd hh24:mi:ss') 当省略HH.MI和SS对应的输入参数时,Oracle使用0作为DEFAULT值.如果输入的日期数据忽

JSP+Servlet+javabean+oracle实现页面多条件模糊查询

之前写过一篇JSP+Servlet+javabean+mysql实现页面多条件模糊查询 使用的是mysql进行的分页查询,mysql用limit控制,而oracle则是用rownum,今天第一次写oracle,查了一下资料试了一下,把代码帖出来 oracle的数据源配置也不同: driverName=oracle.jdbc.driver.OracleDriver url=jdbc\:oracle\:thin\:@127.0.0.1\:1521\:orcl username=marketManag

oracle中日期转换

oracle中,日期转换函数有很多,常用命令如下: to_char()命令将时间戳转换为用户规定的日期格式,如: SELECT TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi:ss') FROM DUAL; 语法:TO_CHAR(X [,format]) 说明:将X按format格式转换成字符串.X可以是日期或者数字或时间戳,format是一个规定了X采用何种格式转换的格式字符串 to_date()命令可以将一个日期格式的字符串转换成date类型数据,如: SELECT 

Oracle中日期转换函数

TO_DATE TO_DATE(char[,fmt[nlsparams]]) char:要转换的字符串 fmt:格式 nlsparams:指定日期语言 例如:查询2002年以后入职的员工: select * from emp where hiredate>to_date('2002-01-01','YYYY-MM-DD'); 常见日期格式见下表: YY:2位数字年份 YYYY:4位数字年份 MM:2位数字月份 MON:简拼的月份 MONTH:全拼的月份 DD:2位数字的天 DY:周几的缩写 DA

[转]ORACLE中Like与Instr模糊查询性能大比拼

instr(title,'手册')>0  相当于  title like '%手册%' instr(title,'手册')=1  相当于  title like '手册%' instr(title,'手册')=0  相当于  title not like '%手册%' t表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标.但经过实际测试发现,like的效率与instr函数差别相当大.下面是一些测试结果: SQL> set timi

Oracle 中的SELECT 关键字(查询、检索)

1. SELECT 关键字用法: 检索单个列:select 列名 from 表名: 例:select ename from emp;检索多个列: select [列1,列2, ... ,列N] from 表名: 例:select ename , sal from emp;检索所有列:select * from 表名: 例:select * from emp; 2. 通配符(A): * :代表0个或多个列_ : 代表单个字符% : 代表0个或多个字符 使用通配符的优点:书写方便.可以检索未知列 使

Oracle中把一张表查询结果插入到另一张表中

一.Oracle数据库中,把一张表的查询结果直接生成并导入一张新表中.  例如:现有只有A表,查询A表,并且把结果导入B表中.使用如下SQL语句: Sql代码  create table B as select * from A    二.Oracle数据库中支持把查询结果导入到另外一张表中.  例如:有两个表A和B 1)如果两个表的表结构是否相同,但要插入的字段类型相同:  (1)把A表的全部字段数据插入到B表中: Sql代码  insert into B select * from A;  

oracle中怎样让一个用户查询其它用户的trigger?

在工作期间,有时候遇到这种需求,需要将一个用户下的trigger查询权限授予给其他的用户怎样将某个用户的trigger查询权限,授予其他用户? 方法一:授予 create any trigger权限.这个权限太大,一般都不会考虑将这种权限授予出去 方法二:将表的bebug权限授予其他用户.这样就能查看到该用户表上的trigger了 测试:[[email protected] ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Productio