【发布时间】:2020-10-28 11:58:39
【问题描述】:
您好,我正在使用输入字段在 UI 中输入日期并输入为 02/01/2051。它将以01-FEB-51 保存到数据库中,我使用DATE 作为数据类型。当我获取它时,它以01-feb-1951 的形式返回。以下是我正在使用的查询
select to_date(LN_MAT_DT,'dd/mm/YYYY') from Emp ;
有人可以帮忙吗?
【问题讨论】:
-
如果是日期数据类型,那么为什么要使用 to_date 来获取它。已经是约会了。只需使用
select ln_mat_dt from emp -
绝不,永远不要在已经是日期的值上调用
to_date()。这将首先将date值转换为varchar,然后将varchar转换回最初的date。 -
OK 将使用直接获取列结果,我不会使用 to_char/to_date。它将返回 01-FEB-51。那么现在如何在屏幕上将其显示为 02/01/2051。
-
要以您想要的格式显示数据,请在日期列上使用 to_char。或者为您的会话设置 nls_date_format 为 dd/mm/yyyy
-
即使我更改了 nls_date_format,我仍然只得到 1951 年。
标签: database oracle date oracle11g