ALTER PROCEDURE gDatabyTime
@DateF DateTime,
@DateT DateTime
AS
declare @sqlstr nvarchar(400)set @sqlstr = 'select * from [order] where Order_Get between '''+Convert(nvarchar(10),@DateF)+''' and '''+Convert(nvarchar(10),@DateT)+''''exec sp_executesql @sqlstr请问上面的存储过程为什么取不出数据啊
我传进来的datetime 是1/1/2004这种格式数据库中是2004-11-26 14:38:53这样的
@DateF DateTime,
@DateT DateTime
AS
declare @sqlstr nvarchar(400)set @sqlstr = 'select * from [order] where Order_Get between '''+Convert(nvarchar(10),@DateF)+''' and '''+Convert(nvarchar(10),@DateT)+''''exec sp_executesql @sqlstr请问上面的存储过程为什么取不出数据啊
我传进来的datetime 是1/1/2004这种格式数据库中是2004-11-26 14:38:53这样的
解决方案 »
- 下拉框弹出树形菜单
- 从客户端(txtAnswer="...\r\n ", " <br /> "); 有危险字符?
- asp.net 中可以自动发Mail给多个人吗?
- 引用类的问题
- 想做个记数器显示浏览网页的人数有多少?
- 如何打开《ASP.NET数据库开发圣经》(pdg)
- 数百万用户同时请求一个WebService,请教如何才能保证性能。 UP有分!!
- 如何把回车用RegisterClientScriptBlock发送到客户端?
- 那位大哥提醒一下!asp.net下oa硬件建设问题?
- 大家来看看这个 奇怪问题!
- 求 如何取得地址栏传递的参数问题.
- 有谁碰到过这种情况:datagrid自动生成列,但要隐藏其中一列
select * from [order] where Order_Get between @DateF and @DateT
不可以吗?
为什么要使用sp_executesql
你这个又不是动态SQL
FROM [order]
WHERE (Order_Get BETWEEN '1/1/2004' AND '1/1/2005')我直接在数据库里这样写也取不出数据
FROM [order]
WHERE (Order_Get BETWEEN '1/1/2004' AND '1/1/2005')
---
要between两个时间吧
SELECT *
FROM [order]
WHERE (Order_Get BETWEEN convert(DateTime,'1/1/2004' AND convert(datetime,'1/1/2005'))
确实取不出来高手帮忙
@DateF DateTime,
@DateT DateTime
AS
declare @sqlstr nvarchar(400)set @sqlstr = 'select * from [order] where Order_Get between '''+convert(nvarchar(10),@DateF,120)+''' and '''+convert(nvarchar(10),@DateT,120)+''''exec sp_executesql @sqlstr上面这样写解决了。