Oracle 11g SQL - DD / MON / YYYY到MONTH DD,YYYY和WHERE月份子句

时间:2013-10-10 15:09:18

标签: sql oracle date datetime format

我试图从某个月和一年(2012年2月)的订单中获取记录。包含该数据的列(Dtordered)当前采用DD / Mon / YYYY格式。我需要以MONTH DD,YYYY格式显示日期。我该怎么做?我知道我需要使用WHERE子句来获取日期和年份的记录。在伪,这是我尝试的。

SELECT Idbasket, Idshopper, Dtordered(MONTH DD, YYYY)
FROM bb_basket
WHERE Dtordered(Mon)='Feb' AND Dtordered(YYYY)=2012;

我如何更正格式和条件?我甚至关闭了吗?

2 个答案:

答案 0 :(得分:2)

假设Dtordered存储为DATE(我希望如此,因为它是约会对象)

[如果不是,那么只要您需要处理TO_DATE(Dtordered, 'DD/Mon/YYYY'),就必须使用Dtordered,但这很糟糕

使用TO_CHAR以给定格式显示日期。

您可以使用

TO_CHAR(<yourdate>, 'YYYYMM') ='201202'获取年月值。

EXTRACT(year from <yourdate>) = 2012 and EXTRACT(month from <yourdate>) = 2

所以

SELECT Idbasket, Idshopper, TO_CHAR(Dtordered, 'MONTH DD, YYYY')
FROM bb_basket
WHERE TO_CHAR(Dtordered, 'YYYYMM')='201202';

答案 1 :(得分:0)

使用to_char函数非常简单,请看:

月份:

to_char (YOUR_FIELD,'MM')= 09

年份:
to_char (YOUR_FIELD,'YYYY')= 2014

对于日:

to_char (YOUR_FIELD,'DD')= 25

对于描述月:

to_char (YOUR_FIELD,'MON')='FEB'

to_char (YOUR_FIELD,'MONTH')LIKE'%FEBRUARY%'

to_char funcion由sql语言支持,而不是由一个特定的数据库支持。

一条信息。要在oracle数据库中获取对象日期的月份描述:

从dual中选择 to_char (sysdate,'MON'); - 今天返回SET
从dual中选择 to_char (sysdate,'MONTH'); - 今天返回SETEMBER

我希望能帮助更多人......

阿布斯!