0

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

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 中尝试过

4

2 回答 2

5

不要依赖隐式转换,使用TO_CHAR显示您喜欢的日期:

select '<tr><td>'||column1||'</td>', 
       '<td>'||column2||'</td>', 
       '<td>'||to_char(column3, 'dd/mm/yyyy hh24:mi:ss')||'</td></tr>' 
  from table 
于 2012-06-19T14:40:39.473 回答
1

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

TO_CHAR(column3,'yyyy/mm/dd HH24:MI:SS') 
于 2012-06-19T14:49:22.683 回答