Sql 获得设定年份的第一天 declare@coyear varchar(最大值) 设置@coyear='2018' 选择(年份(日期添加(年份,0,@coyear)))
我已将Sql 获得设定年份的第一天 declare@coyear varchar(最大值) 设置@coyear='2018' 选择(年份(日期添加(年份,0,@coyear))),sql,sql-server,tsql,Sql,Sql Server,Tsql,我已将@coyear设置为2018年,我将获得2018年的结果。 我要一年中的第一天,这是我为今年设定的。 例如,当我在@coyear中通过2018年时,我希望得到2018-01-01的结果。DATEFROMPARTS似乎是一个更好的解决方案: DECLARE @CoYear int; --Why would you need 2GB/2 Billion characters for a year? SET @CoYear = 2018; SELECT DATEFROMPARTS(@CoYear
@coyear
设置为2018年,我将获得2018年的结果。
我要一年中的第一天,这是我为今年设定的。
例如,当我在
@coyear
中通过2018年时,我希望得到2018-01-01的结果。DATEFROMPARTS
似乎是一个更好的解决方案:
DECLARE @CoYear int; --Why would you need 2GB/2 Billion characters for a year?
SET @CoYear = 2018;
SELECT DATEFROMPARTS(@CoYear, 1, 1);
通过使用DATEFROMPARTS
DECLARE @Year INT = 2021;
SELECT DATEFROMPARTS(@Year, 1, 1) AS Result;
所有版本。试试这个:
DECLARE @Year int = 2018
SELECT CONVERT(date, LTRIM(@Year))
DATEFROMPARTS()
?在收到答案后完全更改问题并使其无效,这是非常不受欢迎的,@Anuragsharma,请不要这样做。似乎你的问题与我的答案下面的评论中表达的不同。declare@coyear varchar(max)
想想你的代码!为什么将其声明为字符串?为什么是一个20亿字符的字符串?学习坏习惯是一个糟糕的开始。谢谢拉努。是的,那是错的。如果我想得到最后一天,比如2018-12-31。我试着从部件中选择DATEFROMPARTS(@CoYear,+1,-1);但是没有帮助。提前感谢使用EOMOUNT
获取当月的最后一天@Anuragsharma。此外,-1
作为DATEFROMPARTS
的参数没有意义。“如果你不明白它的作用,请看一看。”“Larne,如果我想要任何一年任何一个月的最后一天。”。我尝试了这个declare comonth int='12'declare coyear int='2018'选择EOMONTH(comonth,coyear)。但是没用,先谢谢你