SELECT
1 as col1
,2 as col2
,CASE
WHEN salesdata.date1 > '01/01/0001'
THEN 24*60*(salesdata.date1 - salesdata.date2)
ELSE NULL
END AS dateresult
FROM
salesdata
select * from viewsample
然后我运行下面这行:
OracleConnection connection = new OracleConnection(connectionString);
connection.Open();
DbCommand command = connection.CreateCommand();
command.CommandTimeout = 14400;
command.CommandText = sql;
DbDataReader reader = command.ExecuteReader(CommandBehavior.SingleRow);
当ASP.NET运行这行时,我得到错误“ORA-01843:不是一个有效的月份”。
似乎命令将“dateResult”列理解为日期,但它是一个整数。
我已经试过这样的石膏了,也不起作用:
CAST(24*60*(salesdata.date1 - salesdata.date2) as INTEGER)
您必须显式地提供字符串的日期格式
to_date('01/01/0001','dd/mm/yyyy')
在选择项中。如果未提供,则使用客户端上的默认设置来执行到日期的隐式转换。默认日期格式取决于客户端计算机的区域设置。
其中为 附言。我知道那里有安全问题,但现在不是问题。
我在尝试从按日期筛选的表中选择数据时遇到了一个问题。 例如: null 此选择的结果是:
我为PHP更改了OCI8版本,由于该查询不起作用: 我收到这个消息: 消息:oci_execute():ora-01843:不是有效月份 它与Toad一起用于Oracle11。你有什么解决办法吗? 谢谢:)
当我使用php中的上述查询将记录插入到oracle数据库时,它给出了以下错误。 但是当我使用下面的查询时,它没有给出任何错误,而是插入了记录。如何解决这个问题?这个错误已经存在了,但我不清楚答案。任何想法为什么会这样。
我有一个在PL-SQL视图中使用的查询。该视图包含一个名为Jde_date的函数,该函数采用Julian格式的date参数并将其转换为Gregorian格式,它工作得很好。 查询如下: 但是当我发布报告时,我得到错误ORA-01843:不是一个有效的月份。 我该怎么解决?
我使用格式插入日期的查询,但我不断得到相同的错误,即。查看oracle文档,我似乎是正确的,这是令人困惑的。希望得到一组额外的眼睛。 和