Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 通过手动传递日期以日期方式提取日期_Sql_Oracle_Oracle11g_Oracle10g - Fatal编程技术网

Sql 通过手动传递日期以日期方式提取日期

Sql 通过手动传递日期以日期方式提取日期,sql,oracle,oracle11g,oracle10g,Sql,Oracle,Oracle11g,Oracle10g,如何通过手动传递日期从表中提取数据智能计数 我的代码: select count(*),id,time_stamp from tab where trunc(time_stamp)='12-11-2018' group by id,time_stamp. 是否收到类似于不是有效月份的错误您必须使用函数将varchar转换为日期 TO_DATE将char、VARCHAR2、NCHAR或NVARCHAR2数据类型的char转换为日期数据类型的值 必须使用函数将varchar转换为日期 TO_D

如何通过手动传递日期从表中提取数据智能计数

我的代码:

select count(*),id,time_stamp 
from tab 
where trunc(time_stamp)='12-11-2018'
group by id,time_stamp.

是否收到类似于
不是有效月份的错误

您必须使用函数将varchar转换为日期

TO_DATE将char、VARCHAR2、NCHAR或NVARCHAR2数据类型的char转换为日期数据类型的值


必须使用函数将varchar转换为日期

TO_DATE将char、VARCHAR2、NCHAR或NVARCHAR2数据类型的char转换为日期数据类型的值


在与日期进行比较时,不能简单地使用任何格式的日期字符串,它必须匹配
NLS\u date\u格式
,或者必须使用
将其转换为\u date

此外,最好不要直接在
where子句
中的日期列上使用
TRUNC
进行比较。如果索引位于列
时间戳
(除非您有一个基于
TRUNC(时间戳)
的函数索引)上,它将更慢,并且可能不会使用索引。请使用简单的
日期/时间戳
文本,并将
=
作为代码条件。/p 预编码选择计数(*)、id、时间戳 从选项卡 其中时间戳>=日期“2018-11-12”和时间戳<日期“2018-11-12”+1 按id、时间戳分组
在与日期进行比较时,不能简单地使用任何格式的日期字符串,它必须匹配
NLS\U date\U格式
,或者必须使用
将其转换为\u date

此外,最好不要直接在
where子句
中的日期列上使用
TRUNC
进行比较。如果列
时间戳
上存在索引,则比较慢,并且可能不会使用索引(除非您有基于
TRUNC(时间戳)的函数索引)
。使用简单的
日期/时间戳
文字和
=
&
=日期“2018-11-12”和时间戳<日期“2018-11-12”+1
按id、时间戳分组
 select count(*),id,time_stamp 
 from tab 
 where trunc(time_stamp)=to_date('12-11-2018','dd-mm-yyyy') 
 group by id,time_stamp.
 select count(*),id,time_stamp 
 from tab 
 where time_stamp >= DATE '2018-11-12' AND time_stamp < DATE '2018-11-12' + 1
 group by id,time_stamp