Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.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
C# 如何将日期值转换为oracle日期值?_C#_Sql_Oracle - Fatal编程技术网

C# 如何将日期值转换为oracle日期值?

C# 如何将日期值转换为oracle日期值?,c#,sql,oracle,C#,Sql,Oracle,我需要将日期值(2013年8月14日)转换为(2013年8月14日)。我使用了以下查询,但它不起作用: select * from ind_holidays where hol_date between to_date('11-08-2013', 'dd-mmm-yyyy hh24:mi:ss') AND to_date('17-08-2013', 'dd-mmm-yyyy hh24:mi:ss') ORDER by name 像这样尝试 to_date('11-08-2013', '

我需要将日期值(2013年8月14日)转换为(2013年8月14日)。我使用了以下查询,但它不起作用:

select *
from ind_holidays
where hol_date between to_date('11-08-2013', 'dd-mmm-yyyy hh24:mi:ss') AND to_date('17-08-2013', 'dd-mmm-yyyy hh24:mi:ss')
ORDER by name    
像这样尝试

to_date('11-08-2013', 'DD-MON-YY')
D
-月日

MON
-三个字符的月份,即“一月”、“二月”、“四月”


YY
-一年的最后两位。

不需要to_date格式字符串中的时间部分。按如下方式更改查询:

select *
from ind_holidays
where hol_date between to_date('11-08-2013', 'dd-mm-yyyy') AND to_date('17-08-2013', 'dd-mm-yyyy')
ORDER by name   

使用
mm
而不是
mmm
表示两位数的月份

Oracle的
截止日期
函数期望格式字符串与输入匹配

to_date('11-08-2013', 'dd-mm-yyyy')
注意
mm
表示两位数的月数,而不是
mmm
-三个字符的月份使用
mon
)将字符串转换为日期,您的查询应处理该日期。
hh24:mi:ss
部分不是必需的,因为字符串中没有时间组件。不过,我的机器上的Oracle 11g仍能处理该部分

但你的问题是

我需要将日期值(2013年8月14日)转换为(2013年8月14日)

…看起来可能是输出问题?可能是输出中的日期列?应用相同的格式字符串,例如:

SELECT TO_CHAR(hol_date, 'DD-MON-YY') FROM ...

为什么人们要重新编辑和留下/重新添加应该修复的内容?格式化通常最好在客户端完成,而不是服务器端,因为当你需要国际化所有内容的时候,如果你已经完成了逐件邮件,那将是一场噩梦。从你的问题中不清楚你为什么要将日期转换为
DD-MON-YY
当您只是将它们与表中的日期列(可能是)进行比较时设置格式。Mike,
yyy
不应该是
YY
,因为OP需要年份的最后两位数字?这很有效..非常感谢您