sql - ORA-01843不是有效的月份-比较日期

标签 sql oracle date select

尝试从按日期筛选的表中选择数据时遇到问题。

例如:

SELECT * FROM MYTABLE WHERE MYTABLE.DATEIN = '23/04/49';


Oracle错误是:

Informe de error:
Error SQL: ORA-01843: mes no válido
01843. 00000 -  "not a valid month"
*Cause:    
*Action:


表的源数据可能已损坏,在这种情况下:
  • 我该如何解决这个问题?
  • 我可以将此日期更改为null吗?

  • 此选择的结果select * from nls_session_parameters;为:
    PARAMETER                      VALUE                                  
    ------------------------------ ----------------------------------------
    NLS_LANGUAGE                   SPANISH                                  
    NLS_TERRITORY                  SPAIN                                    
    NLS_CURRENCY                   ¿                                        
    NLS_ISO_CURRENCY               SPAIN                                    
    NLS_NUMERIC_CHARACTERS         ,.                                       
    NLS_CALENDAR                   GREGORIAN                                
    NLS_DATE_FORMAT                DD/MM/RR                                 
    NLS_DATE_LANGUAGE              SPANISH                                  
    NLS_SORT                       SPANISH                                  
    NLS_TIME_FORMAT                HH24:MI:SSXFF                            
    NLS_TIMESTAMP_FORMAT           DD/MM/RR HH24:MI:SSXFF                   
    NLS_TIME_TZ_FORMAT             HH24:MI:SSXFF TZR                        
    NLS_TIMESTAMP_TZ_FORMAT        DD/MM/RR HH24:MI:SSXFF TZR               
    NLS_DUAL_CURRENCY              ¿                                        
    NLS_COMP                       BINARY                                   
    NLS_LENGTH_SEMANTICS           BYTE                                     
    NLS_NCHAR_CONV_EXCP            FALSE 
    

    最佳答案

    您应该使用to_date函数(oracle/functions/to_date.php )

    SELECT * FROM MYTABLE WHERE MYTABLE.DATEIN = TO_DATE('23/04/49', 'DD/MM/YY');
    

    关于sql - ORA-01843不是有效的月份-比较日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21157224/

    相关文章:

    asp.net - 从多个表中删除 ASP.NET

    sql - 如果sql中的一个字段相同,如何过滤上一条记录

    javascript - 节点 + MySQL [ECONNREFUSED 127.0.0.1 :3306]

    sql - Oracle sql 中的 NVL 与 CAST?

    php 日历不显示一个月后的事件

    sql - 在SQL Server中无时间比较日期的最佳方法

    sql - 按范围选择表值

    mysql - 从两个名为共同 friend 和喜欢的表(关系)中找到一种喜欢的 friend 。SQL,数据库

    java - 获取前一天

    java - 令人难以置信的java时间机器