数据库存储过程参数拼接 第一个 ,@date应该是字段名称吧。 varchar类型,另外拼接的时候也要+在一起。跟@condition一样第二个,也是一样的问题,lz修改一下看看。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是字段名称 是声明传过来的参数 如过传递的@Date为空 则为当前时间 第一,动态执行,参数取不到外面的第二,@Date要主动转化为字符串 DECLARE @sql VARCHAR(MAX) , @condition VARCHAR(255)= 'test=0'DECLARE @Date DATETIME = NULLIF @Date IS NULLSET @Date=GETDATE()SET @sql = ' delete Personal_Moeny_LockMoney where ' + @condition + ' and ' + 'DATEDIFF(MONTH,Lock_Date,'+''''+ CONVERT(VARCHAR(10), @Date, 112)+''''+' )=0' SELECT ( @sql ) --将其调整为 EXEC sys.sp_sqlexec @sql------------------------------------ delete Personal_Moeny_LockMoney where test=0 and DATEDIFF(MONTH,Lock_Date,'20150306' )=0 请问在嵌套循环中外层值为何不增加? 怎样连接用企业管理器用不同用户名密码登录同一个IP的数据库 sql 生成脚本与表之间关系的问题.急 SQL语句拼接的难题 两道小题儿 在别的论坛看到的 请问这个sql语句怎么写? 在SQL SERVER2000中如何主动断开客户端的连接? SQL Server 数据导出,急!!!!!!!!!!!!!!!!!!!!! 帮忙看看我的存储过程为什么不能返回值?一定给分! 怎样用一条语句列出所有最大值或最小值的记录 由于执行触发器,登录名 'PC-20140810PMQA\Administrator' 的登录失败。 在线报表采集汇总系统
DECLARE @sql VARCHAR(MAX) , @condition VARCHAR(255)= 'test=0'
DECLARE @Date DATETIME = NULL
IF @Date IS NULL
SET @Date=GETDATE()
SET @sql = ' delete Personal_Moeny_LockMoney where ' + @condition + ' and '
+ 'DATEDIFF(MONTH,Lock_Date,'+''''+ CONVERT(VARCHAR(10), @Date, 112)+''''+' )=0'
SELECT ( @sql ) --将其调整为 EXEC sys.sp_sqlexec @sql
------------------------------------
delete Personal_Moeny_LockMoney where test=0 and DATEDIFF(MONTH,Lock_Date,'20150306' )=0