首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >猴子补丁日期类的最佳选择?

猴子补丁日期类的最佳选择?
EN

Stack Overflow用户
提问于 2011-06-18 05:27:41
回答 1查看 146关注 0票数 0

在我的应用程序中,我希望在输入和查看时都支持一个空白的日期字段,意思是“未来的某个不确定的日期”。由于我将其存储在数据库中,并且在任何非nil日期之前进行nil排序,因此我决定对date类进行猴子修补,以实现一个返回"1/1/10000“(我选择该日期表示未来的不确定日期)的"max_value”方法。我已经重载了+、-、to_s和其他运算符/方法,以适当地使用此值。然后,我向模型添加了一个before_save回调函数,以便将任何空白日期转换为Date.max_value。这一切似乎都很好用(除了我正在尝试解决的几个bug),但是有没有更好的方法来做到这一点,而不是像猴子一样修补类?

EN

Stack Overflow用户

回答已采纳

发布于 2011-06-18 05:35:51

您要查找的值为空。重写一个基类,比如Date,以后只会自找麻烦。

在查询中执行此操作

代码语言:javascript
复制
SELECT * FROM Mystery_Events ORDER BY ISNULL(some_event_date,'1/1/10000') ASC

或者,您可以使用

代码语言:javascript
复制
ORDER BY (case WHEN some_event_date IS NULL THEN 1 ELSE 0 END), some_event_date, some_other_sorting_field_to_give_order_to_the_nulls ASC
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6392046

复制
相关文章

相似问题

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