MSSQL中返回日期是周几的问题
2018-02-08 11:21 Evan 阅读(62) 评论(0) 收藏 举报我们在作周末控制时,遇到计算入住期间的日期是周几的问题,通常我们都用
datepart(d,dt)
函数来实现,但是这里需要注意一个问题,这里返回的值是dt是在该周的第几天,数据库中默认的周的起始日是周日,所以导致我们返回得到的数据都会差一天,周四返回的是5,以下是解决办法:
- 直接将返回数据值-1得到是周几,如果返回为1 为周日;
- 是用 set datefirst 1 方法,设置每周的启示日,然后再调用 datepart(d,dt)函数直接得到周几。
第一种办法相对不准确,而且还有再计算整理,所以大家以后用到返回周几的函数时,注意使用set datefirst,将周的起始日设为周一,然后再作计算,特别是我们房价周末控制计算时,要注意该问题。
浙公网安备 33010602011771号