当前位置: 代码迷 >> Sql Server >> 怎么查出表内15号以后的数据
  详细解决方案

怎么查出表内15号以后的数据

热度:49   发布时间:2016-04-24 10:37:03.0
如何查出表内15号以后的数据
我用到一个表order,字段和值如下:
orderID   account      amount     orderTime
1                A                30                  2014-05-13 22:26:36.000
2                B                27                  2014-05-14 12:26:36.000
3                C               100                 2014-05-15 02:26:36.000
4                D                40                  2014-05-16 13:26:36.000

我想查出15号以后到今天的数据。比如今天是6月4号,我就查出5月15号到今天的数据。如果今天是6月24号,我就查出6月15号到24号的数据
这个语句怎么写?谢谢!
------解决方案--------------------

select * from order where ordertime>='2014-5-15'

------解决方案--------------------
select * from tablename t1
where date> (select case when DAY(GETDATE())<15 then CONVERT(varchar(7),DATEADD(m,-1,getdate()),120)+'-15' else CONVERT(varchar(7),getdate(),120)+'-15' end date) 

------解决方案--------------------
IF OBJECT_ID('[order]') IS NOT NULL 
    DROP TABLE [order]
GO 
CREATE TABLE [order](orderID INT,account VARCHAR(1),amount INT,orderTime DATETIME)
INSERT [order]  SELECT 1,'A',30,'2014-05-13 22:26:36.000' UNION ALL  SELECT
2,'B',27,'2014-05-14 12:26:36.000' UNION ALL  SELECT
3,'C',100,'2014-05-15 02:26:36.000' UNION ALL  SELECT
4,'D',40,'2014-05-16 13:26:36.000'


---------------------------------------------------------查询------------------------------------------------------------------------------
DECLARE @NowDate AS DATETIME
SET @NowDate='2014-06-04 00:00:00'  --当前时间
SELECT * FROM [order] WHERE CONVERT(VARCHAR,orderTime,23)<CONVERT(VARCHAR,@NowDate,23)+' 23:59:59' AND orderTime>(CASE WHEN DAY(@NowDate)<15 THEN  CONVERT(VARCHAR(7),DATEADD(mm,-1,@NowDate),120)+'-15 '+CONVERT(VARCHAR,DATEADD(mm,-1,@NowDate),24) ELSE  CONVERT(VARCHAR(7),@NowDate,120)+'-15 '+'00:00:00' end)
---------------------------------------------------------结果------------------------------------------------------------------------------
/*

orderID     account amount      orderTime
----------- ------- ----------- -----------------------
3           C       100         2014-05-15 02:26:36.000
4           D       40          2014-05-16 13:26:36.000

(2 行受影响)
*/
  相关解决方案