[英]datename sql function not showing the correct day
I went online and saw for example that 03 Nov 2011 is Thursday and 04 Nov 2011 is Friday. 我上网查看了例如2011年11月3日是星期四,2011年11月4日是星期五。 I used the function 我用的功能
SELECT datename (dw, 04-11-2011)
on my server and it says Saturday instead of Friday. 在我的服务器上SELECT datename (dw, 04-11-2011)
2011年11月4 SELECT datename (dw, 04-11-2011)
,并显示星期六而不是星期五。 How can I set it up to display correctly? 如何设置使其正确显示? Or what am I missing? 还是我想念什么?
EDIT : Thank you all for your inputs. 编辑 :谢谢大家的投入。 However, most of you pointed out the format I am using and not the fact that it isn't set up correctly. 但是,你们中的大多数人都指出了我使用的格式,而不是它没有正确设置的事实。 Someone posted (and think deleted his comment) of this link: https://msdn.microsoft.com/en-us/library/ms181598.aspx . 有人发布了此链接(并认为删除了他的评论): https : //msdn.microsoft.com/en-us/library/ms181598.aspx 。
so, I used set datefirst 1
and to get 4th of November i used select datename(dw, '2011-11-04')
因此,我使用set datefirst 1
并在11月4日使用select datename(dw, '2011-11-04')
Use ISO standard date formats, so you know what date you are getting. 使用ISO标准日期格式,因此您知道要获取的日期。 Either: 要么:
select datename(dw, '2011-04-11')
or 要么
select datename(dw, '2011-11-04')
(Or, because the above formats are subject to one internationalization setting where they can be misinterpreted, you can leave out the hyphens so they are unambiguously in the YYYYMMDD format.) (或者,因为上述格式都受到一个国际化的环境,让他们可以被误解,你可以离开了连字符,使他们都明确地在YYYYMMDD格式)。
Also, enclose date constants in single quotes. 另外,将日期常量括在单引号中。
1 Use single double for date values 1对日期值使用单双精度
2 In SQL Server use unambiguous date format YYYYMMDD or YYYY-MM-DDTHH:MM:SS 2在SQL Server中使用明确的日期格式YYYYMMDD或YYYY-MM-DDTHH:MM:SS
select datename(weekday, '20110411') as day_name
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.