如何将日历转换为DD-Mon-YY格式和奇怪的查询结果

use*_*110 0 java sql oracle

我有一个sql数据库,其日期格式为ex:21-JAN-07,我使用Calendar元素在Java中创建一个查询,但我似乎无法找到转换为此格式的函数,因为这不是'工作

    DateFormat formatData = new SimpleDateFormat("DD-Mon-YY");
    String dateString= formatData.format(time);
Run Code Online (Sandbox Code Playgroud)

我可以连接我自己的字符串,但首先我发现很奇怪我找不到这样做的方法而且我注意到当我手动查询这样的数据库时

 SELECT Technical_Key FROM DIM_CUSTOMER WHERE '01-JAN-99' <= VERSION_START ORDER BY VERSION_START DESC 
Run Code Online (Sandbox Code Playgroud)

它返回的行比VERSION_START早于'01 -JAN-99',例如07-JAN-07.所以我并不完全确定这是怎么回事

Mas*_*dul 7

D是一年中的一天.使用d(日期)您需要的.而且,Y是一周.使用y(年).对于所需的输出,您的模式应该是

DateFormat formatData = new SimpleDateFormat("dd-MMM-yy");
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请阅读此Java 文档

  • +1也是'MMM`是三个字母不是'Mon`的月份 (2认同)