当date<时,通过查询手动增加SQL Server数据库中的列值。当前的日期

时间:2014-06-10 06:15:30

标签: sql sql-server


我刚刚开始学习数据库,所以这是一个相当基本的问题,但我无法弄清楚如何实现这一目标。

我在数据库中有一个表,其中有一个名为Date的列,我存储一个日期(只是格式为dd / mm / yy的日期),还有另一个名为IntegerColumn的列,其中我最初存储整数值0.

问题是

当Date中的日期小于当前日期时,如何在IntegerColumn中将整数值0递增1。

请注意,存储日期的列的数据类型是nvarchar(50),我将通过我的asp.net应用程序中的代码检查日期格式,即dd / mm / yy。另外,我每次使用SQL作业调度来查询时,SQL Server会发现日期少于当前日期。

我做了这么多......

DECLARE @IncrementValue int
SET @IncrementValue = 1
UPDATE tableA SET IntegerColumn = IntegerColumn + @IncrementValue
WHERE Date < GETDATE()

1 个答案:

答案 0 :(得分:4)

为什么要将日期值存储到nvarchar(50)字段中?这就是问题所在。 在这种情况下,您将文本字段should convert添加到DATETIME类型:

...
WHERE CONVERT(datetime,[Date],3) < GETDATE();