2013-10-03 23 views
0

我真的不熟悉与Oracle有关的任何事情,并且我已经收到了此查询;Oracle选择日期和格式

...BETWEEN TO_DATE('" + shortStartDate + "','MMDDYYYY') 
    AND TO_DATE('" + shortEndDate + "','MMDDYYYY')" 

shortStartDate和shortEndDate是以你占据的世界任何部分的格式输入的日期。

然而,看着字符串,它似乎向我表明,它预计MMDDYYYY格式是正确的?或者它是否将日期转换为MMDDYYYY

我该如何重写这个区域独立的?

回答

1

from here抓起:

为TO_DATE函数的语法是:

TO_DATE(字符串1,[format_mask],[NLS_LANGUAGE]) 字符串1是将被转换成日期的字符串。

format_mask是可选的。 这是将用于将string1转换为日期的格式。

例子:

TO_DATE('20020315', 'yyyymmdd') 

将返回3月15日的日期值,2002年

TO_DATE('" + shortStartDate + "','MMDDYYYY') 

会回到2002年3月15日,如果shortStartDate =” 03152002' 的日期值

要在C#中设置日期格式,您只需使用ToString,如

DateTime.Now.ToString("mmddyyyy"); 
+0

那么这是否意味着如果我的string1采用dd/mm/yyyy格式,则生成的查询将转换为mmddyyyy格式? – griegs

+0

否您传递给TO_DATE函数的日期对象使用格式MMDDYYYY将字符串转换为日期对象。所以它会希望字符串以这种格式表示日期。 如果您阅读链接的文章,它会给出一些示例... TO_DATE('20020315','yyyymmdd')\t将返回日期值2002年3月15日 – MichaC

+0

噢好吧,我明白了。那么现在我该如何将其国际化,以便它可以在美国以及欧洲和澳大利亚使用? – griegs