简体   繁体   English

datename sql函数未显示正确的日期

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM