-1

我有一张 Oracle 表,其中有一个日期时间字段。在选择查询中,我能够在我的 .net 应用程序中获取所有字段值,但不能获取时间字段值。

select abc.Id, abc.Name, abc.When from details abc where abc.Id='"+1234+"'

任何人都可以建议我。

4

1 回答 1

1

Oracle返回字段的格式DATE取决于您在数据库中的默认NLS设置。

Oracle 以内部表示形式存储日期(和时间),当您选择日期值时,您可以根据需要对其进行格式化。官方 Oracle 解释在这里

要强制使用格式,您可以使用以下方法将日期显式转换为字符串表示形式:

select abc.Id, 
       abc.Name, 
       TO_CHAR(abc.When, 'DD-MON-YYYY HH24:MI:SS') AS when 
  from details abc 
 where abc.Id='"+1234+"'

如果您只想要WHEN列的时间部分,那么:

select abc.Id, 
       abc.Name, 
       TO_CHAR(abc.When, 'HH24:MI:SS') AS when 
  from details abc 
 where abc.Id='"+1234+"'

然后,这会将其作为字符串返回,而不是日期和时间,这对您来说可能合适,也可能不合适,具体取决于您随后想用它做什么。您为日期和时间选择的格式可以是任何 Oracle 日期和时间格式,请参见此处

希望能帮助到你...

于 2012-08-22T09:07:51.977 回答