如何将固定月和固定日与sql年函数结合起来?
我想在如何将固定月和固定日与sql年函数结合起来?,sql,sql-server,tsql,date,text,Sql,Sql Server,Tsql,Date,Text,我想在T-SQL中用固定的日期和月份(始终是一年中的最后一天和月份)组成一个日期,年份必须是可变的 这一天总是:31 月份始终为:12 年份是可变的,比如说2014年 格式类似于12-31-2014或12-31-2015 我想到了年份功能: select '12'+YEAR(getdate())-1 但这会导致2014+12=2026 如何使用T-SQL实现这一点?SQL Server具有用于此目的的DATEFROMPARTS功能: DECLARE @date datetime = DAT
T-SQL
中用固定的日期和月份(始终是一年中的最后一天和月份)组成一个日期,年份必须是可变的
- 这一天总是:
31
- 月份始终为:
12
- 年份是可变的,比如说2014年
12-31-2014
或12-31-2015
我想到了年份
功能:
select '12'+YEAR(getdate())-1
但这会导致2014+12=2026
如何使用T-SQL实现这一点?SQL Server具有用于此目的的
DATEFROMPARTS
功能:
DECLARE @date datetime = DATEFROMPARTS( 2014, 12, 31 )
此处记录:SQL Server具有用于此目的的
DATEFROMPARTS
功能:
DECLARE @date datetime = DATEFROMPARTS( 2014, 12, 31 )
此处记录:SQL Server具有用于此目的的
DATEFROMPARTS
功能:
DECLARE @date datetime = DATEFROMPARTS( 2014, 12, 31 )
此处记录:SQL Server具有用于此目的的
DATEFROMPARTS
功能:
DECLARE @date datetime = DATEFROMPARTS( 2014, 12, 31 )
此处记录:您遇到的问题是
YEAR()
返回一个数字,因此服务器正在添加而不是连接。因此,如果要使用连接,需要将该数字强制返回到CHAR()中,然后将整个连接的混乱重新转换回日期(假设希望返回日期类型):
尽管如此,@Dai使用
selectdatefromparts(YEAR(getdate())-1,12,31)
的答案对眼睛来说更容易,可能对CPU来说也更容易。您遇到的问题是YEAR()
返回一个数字,因此服务器正在添加而不是连接。因此,如果要使用连接,需要将该数字强制返回到CHAR()中,然后将整个连接的混乱重新转换回日期(假设希望返回日期类型):
尽管如此,@Dai使用
selectdatefromparts(YEAR(getdate())-1,12,31)
的答案对眼睛来说更容易,可能对CPU来说也更容易。您遇到的问题是YEAR()
返回一个数字,因此服务器正在添加而不是连接。因此,如果要使用连接,需要将该数字强制返回到CHAR()中,然后将整个连接的混乱重新转换回日期(假设希望返回日期类型):
尽管如此,@Dai使用
selectdatefromparts(YEAR(getdate())-1,12,31)
的答案对眼睛来说更容易,可能对CPU来说也更容易。您遇到的问题是YEAR()
返回一个数字,因此服务器正在添加而不是连接。因此,如果要使用连接,需要将该数字强制返回到CHAR()中,然后将整个连接的混乱重新转换回日期(假设希望返回日期类型):
尽管如此,使用
selectdatefromparts(YEAR(getdate())-1,12,31)
来回答@Dai的问题对眼睛和CPU来说都稍微容易一些。感谢一百万Dai!此函数具有以下语法:DATEFROMPARTS(年、月、日)For me worked:select DATEFROMPARTS(年(getdate())-1、12、31)结果:2014-12-31感谢一百万Dai!此函数具有以下语法:DATEFROMPARTS(年、月、日)For me worked:select DATEFROMPARTS(年(getdate())-1、12、31)结果:2014-12-31感谢一百万Dai!此函数具有以下语法:DATEFROMPARTS(年、月、日)For me worked:select DATEFROMPARTS(年(getdate())-1、12、31)结果:2014-12-31感谢一百万Dai!此函数具有以下语法:DATEFROMPARTS(年、月、日)For me worked:select DATEFROMPARTS(年(getdate())-1、12、31)结果:2014-12-31