格式化日期到'hh.mm.yyyy'在查询

问题描述:

如何在'hh.mm.yyyy',选择查询(oracle)格式化日期,如果你不知道哪种格式在DB中有日期(实际上我就会知道,但它会及时更换)格式化日期到'hh.mm.yyyy'在查询

+4

我认为最适合你的方式是将日期当作数据库中的日期,而不用担心在某些客户端中显示日期。 – 2011-04-06 05:30:43

+0

看起来我会找到方式:使用SQL func to_char(),但一个麻烦 - 这是字符,而不是日期。附:那是客户端数据库,不能修改。 – Light 2011-04-06 05:34:56

+0

所以日期被存储为一个字符串...并且格式可能会在将来改变?现有日期是否会更新为新格式? – 2011-04-06 06:52:26

您可以使用TO_CHAR(列,“DD.MM.YYYY')

select TO_CHAR(OrderDate,'dd.mm.yyyy') 
    from MyTable; 

,或者你可以改变会议格式

alter session set NLS_DATE_FORMAT='dd.mm.yyyy'; 

默认格式为“DD-MON-YY”

+0

+1,除非基础列不是日期(不确定,但问题似乎表明基础列存储为字符串) – 2011-04-06 07:33:12