如题,想实现数据表内时间和系统当前时间比对并相减,将差值小于80天的数据插入到一个新表内,如何实现!比较麻烦的是,数据库表内的时间是字符串形式的,例如:200908180830000,后三位是随机加的,而且这个表的字段还不能随便改,请问怎么实现呢?表如下:
name time
test1 200901180830000
test2 200904300921123
test3 200905011420321目前系统时间是2009年5月18日 那么和time字段的前八位比较后两条记录符合条件,插入到一个新表请帮忙看看!
name time
test1 200901180830000
test2 200904300921123
test3 200905011420321目前系统时间是2009年5月18日 那么和time字段的前八位比较后两条记录符合条件,插入到一个新表请帮忙看看!
from tbname
where datediff(day,left([time],8),convert(char(10),getdate(),120))<=80
SELECT NAME,TIME, DATEDIFF(DD,LEFT(TIME,8),GETDATE()) FROM TB WHERE DATEDIFF(DD,LEFT(TIME,8),GETDATE()) <80
select datediff(dd,cast('20090118' as datetime),getdate())
--120
SELECT * INTO #TB
FROM TBNAME
WHERE DATEDIFF(DAY,LEFT([TIME],8),CONVERT(CHAR(10),GETDATE(),120))<=80
from tbname
where datediff(day,left([time],8),convert(char(10),getdate(),120))<=80
源表A 差值小于80 SELECT NAME, TIME
FROM A WHERE ABS(DATEDIFF(DAY,CAST(LEFT(TIME,8) AS SMALLDATETIME,GETDATE()))) < 80
INSERT INTO A ([NAME],[TIME])
SELECT [NAME], [TIME]
FROM A WHERE ABS(DATEDIFF(DAY,CAST(LEFT([TIME],8) AS SMALLDATETIME),GETDATE())) < 80