做计生项目的时候需要一个根据日期查询的存储过程,格式如下:
/*
Fun : 提取民政婚姻
Author : 李久福
CreateTime : 2009-06-26
*/
Create PROCEDURE [dbo].[pro_GetMzHy]
@SDate as datetime, --开始日期
@EDate as datetime --终止日期
AS
Begin
Declare @sql varchar(500)
Set @sql='select * From tbl_Hunyin Where DJDate Between ' + @SDate + ' And dateAdd(dd, 1, ' + @EDate) + ' ) '
Set @sql=@sql + ' Order by [ID] Desc'
Exec (@sql)
End
总是提示“从字符串转换为 datetime 时发生语法错误。”,郁闷了半天终于调试通过,修改如下:
Set @sql='select * From tbl_Hunyin Where DJDate Between ''' + convert(nvarchar,@SDate) + ''' And dateAdd(dd, 1, ''' + convert(nvarchar,@EDate) + ''' ) '