首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ObjectQuery,在Where子句中传递时间

ObjectQuery,在Where子句中传递时间
EN

Stack Overflow用户
提问于 2013-05-14 19:17:29
回答 1查看 198关注 0票数 0

在只查询DateTime列的时间部分的情况下,如何构造ObjectQuery的Where子句?我尝试了以下方法,但不起作用。我在转换时得到了一个无效的异常。

代码语言:javascript
复制
 ObjectQuery<Item> _Query = ItemEntities.CreateQuery<Item>("Item");
_Query = _Query.Where("Convert(VARCHAR,it.START_TIME,114) > '{0}'", startTime.TimeOfDay);

另外,我使用Oracle作为数据库。所以我尝试了to_char而不是convert,仍然得到了同样的错误。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-05-14 19:35:42

您应该能够使用TO_CHAR从日期获取时间部分,然后将其转换为系统类型,例如

代码语言:javascript
复制
TO_DATE(TO_CHAR(it.START_TIME,'HH24:MI:SS'), 'hh24:mi:ss') from dual

如果ObjectQuery不支持TO_CHAR,您可以尝试使用Extract并手动增加时间,例如

代码语言:javascript
复制
TO_DATE(EXTRACT(HOUR FROM it.START_TIME) || ':' || EXTRACT(MINUTE FROM it.START_TIME) || ':' || EXTRACT(SECOND FROM it.START_TIME) FROM DUAL, 'HH24:MI:SS');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16541793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档