0

我正在尝试从特定月份和年份(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;

我将如何更正我的格式和条件?我什至接近吗?

4

2 回答 2

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';
于 2013-10-10T15:13:40.407 回答
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函数由 sql 语言支持,而不是由一个特定的数据库支持。

一成瘾信息。要在 oracle 数据库中获取实际日期的月份描述:

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

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

腹肌!

于 2014-09-25T18:34:15.667 回答