本来代码实在页面里的,现在需要写到存储过程中
举个简单例子吧
string sql="select * from A where time > '" + DateTime.Now.ToString("yyyy-MM-dd 08:00") + "' and time <= '" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + " ' ";
差不多就这意思吧,这是后台的SQL字符串,就是说获取时间在今天8点到当前时间 之间的所有信息
可是放到存储过程以后,怎么表示那个 DateTime.Now.ToString("yyyy-MM-dd 08:00")
我只知道GETDATE()获取当前时间,怎么改为,只获取当前年月日,而自己手动指定小时呢?需要用获取两次,然后拼接起来么?
------解决思路----------------------
DECLARE @dt1 datetime
DECLARE @dt2 datetime
SET @dt2 = GETDATE()
SET @dt1 = Convert(datetime,
Convert(varchar(10),GetDate(),120)+' 08:00:00',
120)
--SELECT @dt1, @dt2
select * from A where time > @dt1 and time <= @dt2
------解决思路----------------------
select CONVERT(varchar(10),getdate(),121) + ' 08:00:00' as dt
dt
-------------------
2015-04-17 08:00:00
(1 行受影响)