如何从DateTime值中删除Year

时间:2014-09-12 14:21:08

标签: sql sql-server datetime

我在表格中有两列。

  • FinancialYear(DATETIME:2011-05-01 00:00:00.000)
  • PostingYear(INT:当前为空)

我想使用FinancialYear列中的年份填充空列,并加1。

例如,我想要:PostingYear = FinancialYear + 1,只给2012 2011-05-01 00:00:00.000年{{1}}没有月和日。

3 个答案:

答案 0 :(得分:0)

MySQL和SQL Server现在都支持YEAR()功能。

MySQL的:

  

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_year

SQL Server:

  

http://msdn.microsoft.com/en-us/library/ms186313.aspx

SQL Server还支持DATEPART()

  

http://msdn.microsoft.com/en-us/library/ms174420.aspx

答案 1 :(得分:0)

您可以在computed column中添加ms SQL 使用流动的formula作为列
例如,如果日期列是fdate,则使用

Year(fdate)+1

答案 2 :(得分:0)

要获得年份,您可以简单地执行此操作:

SELECT YEAR(FinancialYear)
FROM [YOUR_TABLE]

然后加1:

SELECT YEAR(FinancialYear) + 1
FROM [YOUR_TABLE]

要在桌面上运行UPDATE,您可以执行以下操作:

UPDATE [YOUR_TABLE]
SET PostingYear = YEAR(FinancialYear) + 1

这将从您的FinancialYear列中删除并添加1并将所有值插入空列 - PostingYear