我有一个列,用户可以在其中插入当月的天数。让我们调用DAY_OF_PERIOD列,可以在那里插入数字1-31。
我想知道插入数字31后会发生什么。但这个月只有28天。当查询在28日开始时(如果是月份的最后一天),数字29,30和31仍然需要出现在选择中
当每个月都有相同的天数时,这将起作用:p DAY_OF_PERIOD = dayofmonth(sysdate)
有人为此提供了优雅的解决方案吗?
祝你好运 甲
编辑: 添加了更多信息
用户首先插入频率标志:每日,每周,每月。然后基于第一个标志,day_of_period选项意味着不同的东西。 1-7(每周)或1-31(每月)。还有一些其他的调度信息。并且基于该信息,表格例如每小时循环一次。因此,当用户在那里输入31(带有每月标志)时,我必须每月和第31天将其包含在查询中。
答案 0 :(得分:1)
使用日期选择器插入日期。
Link to Javascript datepicker which can be used in asp and html
你也可以使用JQuery DatePicker。将日期头痛传递给日期组件。这始终是最佳解决方案。
答案 1 :(得分:0)
如果您知道用户输入日期的月份/年份,您可以使用lastday()
功能确定它是否有效。
SELECT day(last_day('2013-01-20')
将返回31。
SELECT day(last_day('2013-02-20')
将返回28。
您可以在插入数据验证部分中使用上述内容,以在提交之前确认输入。