Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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
Oracle SQL“;从日期时间字段中选择日期";_Sql_Oracle_Date_Select - Fatal编程技术网

Oracle SQL“;从日期时间字段中选择日期";

Oracle SQL“;从日期时间字段中选择日期";,sql,oracle,date,select,Sql,Oracle,Date,Select,我有字段REPORTDATE(日期时间)。 在SQLDeveloper中,我可以用这种格式看到它的值 29.10.2013 17:08:08 我发现,为了只选择一个日期,我需要执行以下操作: SELECT TO_DATE (REPORTDATE, 'DD.MON.YYYY') AS my_date FROM TABLE1 但它返回0RA-01843:不是有效月份 我只想返回2013年10月29日的结果 截止日期(报告日期“DD.MON.YYYY”) 这毫无意义。您正在将日期再次转换为日期。您可

我有字段REPORTDATE(日期时间)。 在SQLDeveloper中,我可以用这种格式看到它的值

29.10.2013 17:08:08

我发现,为了只选择一个日期,我需要执行以下操作:

SELECT TO_DATE (REPORTDATE, 'DD.MON.YYYY') AS my_date
FROM TABLE1
但它返回
0RA-01843:不是有效月份

我只想返回2013年10月29日的结果

截止日期(报告日期“DD.MON.YYYY”)

这毫无意义。您正在将日期再次转换为日期。您可以使用TO_DATE将字符串文字转换为DATE

SQL> SELECT to_char(SYSDATE, 'DD.MM.YYYY') dt from dual;

DT
----------
12.03.2015

SQL>
我只想返回2013年10月29日的结果

您可以使用TRUNC截断时间元素。如果要将此值用于日期计算,可以直接使用它

比如说,

SQL> select TRUNC(SYSDATE) dt FROM DUAL;

DT
---------
12-MAR-15
要以特定格式显示,您可以使用来显示字符和适当的格式掩码

SQL> SELECT to_char(SYSDATE, 'DD.MM.YYYY') dt from dual;

DT
----------
12.03.2015

SQL>
使用以下命令:

SELECT trunc(REPORTDATE, 'DD') AS my_date
FROM TABLE1
这不会改变返回对象的类型,只会截断“日”级别以下的所有内容

如果可以返回字符串,则只需执行以下操作:

SELECT TO_CHAR(REPORTDATE, 'DD.MM.YYYY') AS my_date
FROM TABLE1

请尝试以下代码:

 cast(datetimevariable as date)

对你合适吗;从Dual中选择trunc(截止日期('10.04.2012 14:56:00','DD.MM.YYYY HH24:MI:SS'))报告日期的数据类型是什么。它是日期还是字符串?它在数据库中的日期时间。我现在添加了信息它是一列,不是一个字段。@newuserua\u ext它不正常,因为它返回29.10.2013 00:00:00这不是解决方案这不是解决方案。它返回“29.10.2013 00:00:00”谢谢这是解决方案。我可以问您其他问题吗?我正在尝试使用此日期列进行分组,但未成功。请查看“选择以字符(REPORTDATE,'DD.MM.YYYY')作为MYDATE,COUNT(*)from TABLE1 group by MYDATE”它返回无效标识请帮助我完成我现在要在该列上分组的其他事项,但返回错误“无效标识符”
GROUP BY to_char(REPORTDATE,'DD.MM.yyyyy')
此外,这可能有助于理解nls设置,请参阅“谢谢”,还有一件事(我最后一次承诺)。如果我想进行比较,例如,我想查看“09.11.2013”之后的日期“但它也会将结果返回给我,我使用的2013年10月30日表达式是:选择to_char(REPORTDATE,'DD.MM.YYYY')、COUNT(*)from TABLE where to_char(REPORTDATE,'DD.MM.YYYY')>“09.11.2013”GROUP BY to_char(REPORTDATE,'DD.MM.yyyyy')。这是针对SQL Server(可能还有其他人),而不是Oracle的。