我有一张 Oracle 表,其中有一个日期时间字段。在选择查询中,我能够在我的 .net 应用程序中获取所有字段值,但不能获取时间字段值。
select abc.Id, abc.Name, abc.When from details abc where abc.Id='"+1234+"'
任何人都可以建议我。
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 日期和时间格式,请参见此处。
希望能帮助到你...