22,209
社区成员
发帖
与我相关
我的任务
分享
SELECT
*
FROM
总表
WHERE
DATEADD(MONTH, 3, CAST(LEFT([安装日期], 10) AS DATETIME))
BETWEEN GETDATE() AND GETDATE() + 10;
USE tempdb
GO
IF OBJECT_ID('dbo.[t]') IS NOT NULL
DROP TABLE dbo.[t]
GO
CREATE TABLE dbo.[t](
[自己卡号] NVARCHAR(MAX)
,[安装日期] NVARCHAR(MAX)
,[车主姓名] NVARCHAR(MAX)
,[车主性别] NVARCHAR(MAX)
,[服务起始时间] NVARCHAR(MAX)
)
GO
SET NOCOUNT ON
INSERT INTO dbo.[t] VALUES(N'112212',N'2016-01-14 17:06:52',N'李健成',N'先生',N'2016-01-14 17:06:52')
INSERT INTO dbo.[t] VALUES(N'112213',N'2016-01-14 17:06:53',N'李健成',N'先生',N'2016-01-14 17:06:53')
INSERT INTO dbo.[t] VALUES(N'112214',N'2016-01-14 17:06:54',N'李健成',N'先生',N'2016-01-14 17:06:54')
INSERT INTO dbo.[t] VALUES(N'112215',N'2016-01-14 17:06:55',N'李健成',N'先生',N'2016-01-14 17:06:55')
INSERT INTO dbo.[t] VALUES(N'112216',N'2016-01-14 17:06:56',N'李健成',N'先生',N'2016-01-14 17:06:56')
INSERT INTO dbo.[t] VALUES(N'112217',N'2016-01-14 17:06:57',N'李健成',N'先生',N'2016-01-14 17:06:57')
INSERT INTO dbo.[t] VALUES(N'112218',N'2016-01-14 17:06:58',N'李健成',N'先生',N'2016-01-14 17:06:58')
INSERT INTO dbo.[t] VALUES(N'112219',N'2016-01-14 17:06:59',N'李健成',N'先生',N'2016-01-14 17:06:59')
INSERT INTO dbo.[t] VALUES(N'112220',N'2016-01-14 17:06:60',N'李健成',N'先生',N'2016-01-14 17:06:60')
INSERT INTO dbo.[t] VALUES(N'112221',N'2016-01-14 17:06:61',N'李健成',N'先生',N'2016-01-14 17:06:61')
INSERT INTO dbo.[t] VALUES(N'112222',N'2016-01-14 17:06:62',N'李健成',N'先生',N'2016-01-14 17:06:62')
---- 以上为测试数据 ----
--1、安装时间+3个月小于当前时间,
SELECT * FROM t
WHERE DATEADD(MONTH,3, CAST(LEFT([安装日期],10) AS DATETIME))<GETDATE()
--2、 安装时间+3个月大于当前时间10天
SELECT * FROM t
WHERE DATEADD(MONTH,3, CAST(LEFT([安装日期],10) AS DATETIME))>GETDATE()+10