在Oracle中只获取没有时间的日期

杰·布洛克

我有这个SQL请求来检索一些数据,我有这个列'pa.fromdate',它返回一个日期和一个时间。如何获取仅返回“ DD.MM.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(pa.fromdate)

这将从日期时间中删除时间部分,因此您仅获得日期。然后,在您的应用程序层中,您将关心如何显示它。

例如,您有一个带有网格的GUI。网格根据用户的系统设置(例如Windows区域设置)显示日期,但是网格知道日期,因此可以进行相应排序。为此,您需要使用date而不是代表日期的字符串填充网格

如果您想要固定的字符串格式(例如为了写入文件),则可以使用TO_CHAR

TO_CHAR(pa.fromdate, 'dd.mm.yyyy')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章