我有这个SQL请求来检索一些数据,我有这个列’pa.fromdate’,它返回一个日期和一个时间。如何获取仅以“ DD.MM.YYYY”格式返回的日期。我已经尝试过类似的东西trunc(to_date(pa.fromdate, 'MM.DD.YYYY'))。不起作用 我怎样才能做到这一点?
trunc(to_date(pa.fromdate, 'MM.DD.YYYY'))
SELECT pro.inscatid, t.epotypeid, t.paysum, t.note, pa.blankno, pa.blankseria, pa.signtime, pa.fromdate, ca.accnum, ou.name, cst.inn, pkg_customers.GETCUSTOMERFULLNAME(cst.id) cstfio FROM epo_orders t LEFT JOIN epo_orderdetails od ON od.orderid = t.id AND od.iscanceldoc = -1 LEFT JOIN plc_Agree pa ON pa.id = od.agreeid LEFT JOIN pro_products pro ON pro.id = pa.proid LEFT JOIN nsk_transferdetails td ON td.transferid = pa.transferid AND td.orgtypeid = 4 LEFT JOIN cst_customers cst ON cst.id = t.cstid LEFT JOIN cst_cstaccounts ca ON ca.id = t.cstaccid LEFT JOIN nsk_orgunits ou ON td.orgunitid = ou.id WHERE t.epotypeid IN (159,1010,169,175) AND rownum <20;
通常一个人会简单地用以下命令截断日期时间TRUNC:
TRUNC
TRUNC(pa.fromdate)
这将从日期时间中删除时间部分,因此您仅获得日期。然后,在您的应用程序层中,您将关心如何显示它。
例如,您有一个带有网格的GUI。网格根据用户的系统设置(例如Windows区域设置)显示日期,但是网格知道日期,因此可以进行相应的排序。为此,您需要使用 date 而不是代表日期的 字符串 填充网格。
如果您希望使用固定的字符串格式(例如为了写入文件),则可以使用TO_CHAR:
TO_CHAR
TO_CHAR(pa.fromdate, 'dd.mm.yyyy')