SQL存储过程基础语法问题,不知道用啥符号~

glvicky 2007-05-22 01:24:07
CREATE PROCEDURE [月统计]
(
@Year [nvarchar](4),
@Month [nvarchar](2),
@ClassID [int]
)
AS

SELECT SUM(dbo.Order_Product.OP_Price * dbo.Order_Product.OP_ProductNumber)
FROM dbo.Product_Class INNER JOIN
dbo.Product_List ON
dbo.Product_Class.PC_ID = dbo.Product_List.PL_ClassID INNER JOIN
dbo.Order_Product ON
dbo.Product_List.PL_ID = dbo.Order_Product.OP_ProductID
WHERE (',' + dbo.Product_Class.PC_ParentIDs + ',' LIKE '%@ClassID%') AND
(LEFT(dbo.Order_Product.OP_OrderID, 4) = @Year) AND (CONVERT(int,
SUBSTRING(dbo.Order_Product.OP_OrderID, 5, 2)) = @Month)
GO


就是
(',' + dbo.Product_Class.PC_ParentIDs + ',' LIKE '%,@ClassID,%')
这个参数~本来应该是这样的~
(',' + dbo.Product_Class.PC_ParentIDs + ',' LIKE '%,111,%')
可是我不知道怎么连……这样子是不行的吧?取出来是空值~
...全文
263 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
glvicky 2007-05-22
  • 打赏
  • 举报
回复
其实~
当@ClassID [int]时,LIKE '%' + @ClassID + '%'是这行的~
把@ClassID [nvarchar](6)....
glvicky 2007-05-22
  • 打赏
  • 举报
回复
谢谢,知道了~
LIKE '%,' + @ClassID + ',%'
sunshine_zhang 2007-05-22
  • 打赏
  • 举报
回复
SELECT SUM(dbo.Order_Product.OP_Price * dbo.Order_Product.OP_ProductNumber)
FROM dbo.Product_Class INNER JOIN
dbo.Product_List ON
dbo.Product_Class.PC_ID = dbo.Product_List.PL_ClassID INNER JOIN
dbo.Order_Product ON
dbo.Product_List.PL_ID = dbo.Order_Product.OP_ProductID
WHERE (dbo.Product_Class.PC_ParentIDs LIKE '%' + @ClassID + '%') AND
(LEFT(dbo.Order_Product.OP_OrderID, 4) = @Year) AND (CONVERT(int,
SUBSTRING(dbo.Order_Product.OP_OrderID, 5, 2)) = @Month)
chuifengde 2007-05-22
  • 打赏
  • 举报
回复
LIKE '%'+ltrim(@ClassID)+'%'
OracleRoob 2007-05-22
  • 打赏
  • 举报
回复
LIKE '%' + @ClassID + '%'
chuifengde 2007-05-22
  • 打赏
  • 举报
回复
LIKE '%'+@ClassID+'%'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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