我试图从某个月和一年(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;
我如何更正格式和条件?我甚至关闭了吗?
答案 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
我希望能帮助更多人......
阿布斯!