我在SQL Server 2000中有一个带有两个datetime列的表,我只想更新column_a中的日期和月份,而column_b中的日期和月份除外(年份)。
例如:
column_a
----------
1/2/2009
1/2/2002
1/2/2016
3/1//1998
11/12/1987
column_b
---------
31/12/2015
11/10/2005
27/6/2017
31/12/2010
31/12/2011
所需结果:
31/12/2009
11/10/2002
27/6/2016
31/12/1998
31/12/1987
感谢您的帮助。
答案 0 :(得分:0)
在SQL Server 2000中应该使用日期文字,样式112返回YYYYMMDD
中的日期,因此取其中一个的YYYY
并添加到另一个的MMDD
并将其转换为{ {1}}。
datetime
在更高版本中,这要容易得多。 SQL Server 2000对我已经死了。
使用DATEFROMPARTS(年,月,日)
update tablex
set columnb = convert(datetime(left(convert(varchar, column_a, 112), 4) +
right(convert(varchar, column_b, 112), 4), 112)