可能是在@Count为Null出现问题。另外,用replace的方法不太好。因为当@AdPozition和@AdType包含字符串"TOP"时,也会被替换掉。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、雅安服务器托管、营销软件、网站建设、南关网站维护、网站推广。
建议改成:
SET
@SQL=N'SELECT
'+
CASE
WHEN
LEN(@Count)
THEN
'TOP
'
+
@Count
ELSE
''
END
+'
*
FROM
NOP_ADS
WHERE
ADPOZITION='''+@AdPozition+'''
AND
ADTYPE='''+@AdType+'''
ORDER
BY
ADPOZITION
DESC,
ADTYPE
DESC,SHOWORDER
DESC'
去掉IF和REPLACE语句。
sql="update Table set 字段=REPLACE ( 字段,'123' , ' ') where XXX条件"
把字段中123替换为空格
记得加条件
各个数据库都有空值操作函数,例如Oracle的nvl,mysql的ifnull,sqlserver的isnull等
都可以把空值替换成另外一个内容,你这里只需要把空值替换“null字符”就可以了。
oracle:select nvl(字段,'NULL') from ****
mysql:select ifnull(字段,''NULL'') from ****
sqlserver,也类似,我就不写了