【问题标题】:html output in plsql - date not properplsql中的html输出-日期不正确
【发布时间】:2012-06-19 14:35:21
【问题描述】:

我正在尝试提取以下查询:

select
'<tr><td>'||column1||'</td>',
'<td>'||column2||'</td>',
'<td>'||column3||'</td></tr>'
from table

在上面,column3 是一个日期字段。打印输出时,它忽略了时间部分。例如:

If columns 3 output is : 5/25/2011 3:03:17 AM
The above query returns : <tr><td>column1</td><td>column2</td><td>**25-JUN-11**</td></tr>

我尝试过 to_date(column3,'yyyy/mm/dd HH24:MI:SS') 并且正常查询会打印时间

select
column1,
column2,
column3,
from table

第 3 列打印时间。任何帮助表示赞赏。

编辑: 我正在使用 Oracle 10g。我也在 Oracle 9i 中尝试过

【问题讨论】:

    标签: html sql oracle to-date


    【解决方案1】:

    不要依赖隐式转换,使用TO_CHAR显示日期to your liking

    select '<tr><td>'||column1||'</td>', 
           '<td>'||column2||'</td>', 
           '<td>'||to_char(column3, 'dd/mm/yyyy hh24:mi:ss')||'</td></tr>' 
      from table 
    

    【讨论】:

      【解决方案2】:

      TO_DATE 正是它应该做的事情,格式掩码为它提供了它的主要输入格式,因此它可以将其转换为日期。格式掩码不用于定义输出,而是用于定义输入。你需要使用的是TO_CHAR

      TO_CHAR(column3,'yyyy/mm/dd HH24:MI:SS') 
      

      【讨论】:

        猜你喜欢
        • 2021-03-05
        • 1970-01-01
        • 1970-01-01
        • 2012-09-21
        • 2021-01-14
        • 2018-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多