主要是把id拼成字符串 如果id是字符串形式,就需要单引号,如果是int类型,就不需要单引号 以 单引号+id+单引号+英文逗号,把数组中的id循环出来 结果就是 id为nvarchar:'37','38','39', id为int:37,38,39 然后把字符串最后一位除去 结果是 '37','38','39' 或 37,38,39 然后用delete table的方式 delete本来就是多行删除,而你其实要把多行删除变为指定删除,就是加上where条件 多个id的where条件,就用in()的方式,括号内是条件的多个指定项 delete 表 where id in (上面的字符串) 结果 delete 表 where id in ('37','38','39') delete 表 where id in (37,38,39)
假设表有4个字段为FIELD1-FIELD4 只有有一个字段为空就删除 DELETE BIAO WHERE FIELD1 IS NULL OR FIELD2 IS NULL OR FIELD3 IS NULL OR FIELD4 IS NULL 所有字段为空才删除: DELETE BIAO WHERE FIELD1 IS NULL and FIELD2 IS NULL and FIELD3 IS NULL and FIELD4 IS NULL 第二个问题,看不出您的日期字段格式是什么格式,也没看清您想要什么样的结果,相距的时间是什么?是天,还是月,还是年? 假设您的日期字段是DATETIME类型,我列举了您需求的多种情况: --如果是要几年或几天或几个月,下面三行分别得到总年数或总月数或总天数(如果是一年就会得到365或366) select datediff(year,注册时间,getdate())--总年数(整数) select datediff(month,注册时间,getdate())--总月数(整数) select datediff(day,注册时间,getdate())--总天数(整数) --如果是要得到几年和几个月和几天的组合结果(与上面的总数结果不同,这里日不会过31,月不会过12,年月日结果是进位关系),按下面的方法得到. select cast(datename(year,getdate()-注册时间)-1900 as varchar)+'年' +cast(datename(month,getdate()-注册时间)-1 as varchar)+'个月' +cast(datename(day,getdate()-注册时间)-1 as varchar)+'日'