这里的参数该怎么写,急!!!

hzyzx 2004-08-04 10:06:07
SELECT @TMPDBPF AS PFM,GP_CZ,GP_DBPF, GP_ZDZ, GP_ZWF, COUNT(GP_ZDZ) AS shu, 'Z' AS GP_ZY
FROM dbo.HLZ
WHERE GP_GYPF COLLATE Chinese_PRC_CS_AS_WS LIKE ''%'+@SS+'%’' /* 这里的参数该怎么写?*/
AND GP_DBPF=@DBPF
GROUP BY GP_CZ,GP_DBPF, GP_ZDZ, GP_ZWF
...全文
205 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2004-08-04
  • 打赏
  • 举报
回复
举例说明
hzyzx 2004-08-04
  • 打赏
  • 举报
回复
改成LIKE '%'+@SS+'%' 还是不行
hzyzx 2004-08-04
  • 打赏
  • 举报
回复
参数@ss的变化取决于@Tmpdbpf char(50) ,@CZ CHAR(50)
hzyzx 2004-08-04
  • 打赏
  • 举报
回复
因为我的GP_GYPF 这个字段中可能是ABCDEFGH
当我@ss='A' 我要的是GP_GYPF 中含有A的记录,
我的意思是参数@ss的值变化,我要的记录结果也变化
zjcxc 2004-08-04
  • 打赏
  • 举报
回复
你不是动态SQL语句,加'干什么?
zjcxc 2004-08-04
  • 打赏
  • 举报
回复
CREATE PROCEDURE [dbo].[ZONGDZ]
@Tmpdbpf char(50) ,@CZ CHAR(50)

AS
DECLARE @SS CHAR(40)
DECLARE @DBPF CHAR(40)
IF EXISTS (SELECT * FROM DYPF WHERE GP_PFNAME=@TMPDBPF)
BEGIN
DECLARE AA CURSOR FOR SELECT GP_PFNO,GP_DBPF FROM DYPF WHERE GP_PFNAME=@TMPDBPF
OPEN AA
fetch next from AA into @SS ,@DBPF
while @@fetch_status=0
BEGIN

SELECT @TMPDBPF AS PFM,GP_CZ,GP_DBPF, GP_ZDZ, GP_ZWF,
COUNT(GP_ZDZ) AS shu, 'Z' AS GP_ZY
FROM dbo.HLZ
WHERE GP_GYPF COLLATE Chinese_PRC_CS_AS_WS LIKE '%'''+@SS+'''%'
AND GP_DBPF=@DBPF
GROUP BY GP_CZ,GP_DBPF, GP_ZDZ, GP_ZWF
UNION
SELECT @TMPDBPF AS PFM,GP_CZ,GP_DBPF, GP_YDZ, GP_YWF,
COUNT(GP_YDZ) AS shu, 'Y' AS GP_ZY
FROM dbo.HLZ
WHERE GP_GYPF COLLATE Chinese_PRC_CS_AS_WS LIKE '%'+@SS+'%'
AND GP_DBPF=@DBPF
GROUP BY GP_CZ,GP_DBPF,GP_YDZ, GP_YWF
END

Close AA
deallocate AA
END
GO


hzyzx 2004-08-04
  • 打赏
  • 举报
回复
zjcxc(邹建) 快来帮帮忙
panjinfu80 2004-08-04
  • 打赏
  • 举报
回复
LIKE '%'''+@SS+'''%'
@SS为字符串的
原题的单引号有误的(LIKE ''%'+@SS+'%’' )比较(LIKE ''%'+@SS+'%'' ),
仔细看一下,倒数第二个单引号。。。
hzyzx 2004-08-04
  • 打赏
  • 举报
回复
CREATE PROCEDURE [dbo].[ZONGDZ]
@Tmpdbpf char(50) ,@CZ CHAR(50)

AS
DECLARE @SS CHAR(40)
DECLARE @DBPF CHAR(40)
IF EXISTS (SELECT * FROM DYPF WHERE GP_PFNAME=@TMPDBPF)
BEGIN
DECLARE AA CURSOR FOR SELECT GP_PFNO,GP_DBPF FROM DYPF WHERE GP_PFNAME=@TMPDBPF
OPEN AA
fetch next from AA into @SS ,@DBPF
while @@fetch_status=0
BEGIN

SELECT @TMPDBPF AS PFM,GP_CZ,GP_DBPF, GP_ZDZ, GP_ZWF,
COUNT(GP_ZDZ) AS shu, 'Z' AS GP_ZY
FROM dbo.HLZ
WHERE GP_GYPF COLLATE Chinese_PRC_CS_AS_WS LIKE '%'''+@SS+'''%'
AND GP_DBPF=@DBPF
GROUP BY GP_CZ,GP_DBPF, GP_ZDZ, GP_ZWF
UNION
SELECT @TMPDBPF AS PFM,GP_CZ,GP_DBPF, GP_YDZ, GP_YWF,
COUNT(GP_YDZ) AS shu, 'Y' AS GP_ZY
FROM dbo.HLZ
WHERE GP_GYPF COLLATE Chinese_PRC_CS_AS_WS LIKE '%'''+@SS+'''%'
AND GP_DBPF=@DBPF
GROUP BY GP_CZ,GP_DBPF,GP_YDZ, GP_YWF
END

Close AA
deallocate AA
END
GO
/*LIKE '%'''+@SS+'''%'这里怎么写?*/
hzyzx 2004-08-04
  • 打赏
  • 举报
回复
CREATE PROCEDURE [dbo].[ZONGDZ]
@Tmpdbpf char(50) ,@CZ CHAR(50)

AS
DECLARE @SS CHAR(40)
DECLARE @DBPF CHAR(40)
IF EXISTS (SELECT * FROM DYPF WHERE GP_PFNAME=@TMPDBPF)
BEGIN
DECLARE AA CURSOR FOR SELECT GP_PFNO,GP_DBPF FROM DYPF WHERE GP_PFNAME=@TMPDBPF
OPEN AA
fetch next from AA into @SS ,@DBPF
while @@fetch_status=0
BEGIN

SELECT @TMPDBPF AS PFM,GP_CZ,GP_DBPF, GP_ZDZ, GP_ZWF, COUNT(GP_ZDZ) AS shu, 'Z' AS GP_ZY
FROM dbo.HLZ
WHERE GP_GYPF COLLATE Chinese_PRC_CS_AS_WS LIKE '%'''+@SS+'''%'
AND GP_DBPF=@DBPF
GROUP BY GP_CZ,GP_DBPF, GP_ZDZ, GP_ZWF
UNION
SELECT @TMPDBPF AS PFM,GP_CZ,GP_DBPF, GP_YDZ, GP_YWF, COUNT(GP_YDZ) AS shu, 'Y' AS GP_ZY
FROM dbo.HLZ
WHERE GP_GYPF COLLATE Chinese_PRC_CS_AS_WS LIKE '%'''+@SS+'''%'
AND GP_DBPF=@DBPF
GROUP BY GP_CZ,GP_DBPF,GP_YDZ, GP_YWF
END

Close AA
deallocate AA
END
GO
上面这个是我的源代码,请高手指点。
hzyzx 2004-08-04
  • 打赏
  • 举报
回复
好象还不行
WangZWang 2004-08-04
  • 打赏
  • 举报
回复
SELECT @TMPDBPF AS PFM,GP_CZ,GP_DBPF, GP_ZDZ, GP_ZWF, COUNT(GP_ZDZ) AS shu, 'Z' AS GP_ZY
FROM dbo.HLZ
WHERE GP_GYPF COLLATE Chinese_PRC_CS_AS_WS LIKE '%'''+@SS+'''%' /* 这里的参数该怎么写?*/
AND GP_DBPF=@DBPF
GROUP BY GP_CZ,GP_DBPF, GP_ZDZ, GP_ZWF
mophi 2004-08-04
  • 打赏
  • 举报
回复
LIKE '%'+@SS+'%’
hzyzx 2004-08-04
  • 打赏
  • 举报
回复
关于引号的问题
hzyzx 2004-08-04
  • 打赏
  • 举报
回复
@ss是参数

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧