【发布时间】:2014-03-12 18:30:25
【问题描述】:
我正在尝试构建一个简短的 SQL 脚本来检查 @NewProductAdded 是否在 @NewTotalProducts 中的某个位置。如果@NewProductAdded 不在@OldTotalProducts 中。请看下面的设置(真实数据在表格中,不是变量,但我只需要一个简单的例子):
declare @NewProductAdded as varchar(max)
declare @NewTotalProducts as varchar(max)
declare @OldTotalProducts as varchar(max)
set @NewProductAdded ='ProductB'
set @NewTotalProducts = 'ProductAProductBProductC'
set @OldTotalProducts = 'ProductAProductC'
SELECT CustomerID FROM Products WHERE NewProductAdded ...
我想确保“ProductB”包含在@NewTotalProducts 中的某个位置,而不包含在@OldTotalProducts 中的任何位置。产品名称因数以千计的组合而千差万别,并且无法在一个字符串中真正将它们彼此分开。我确信有一个简单的解决方案或功能,我只是还不知道。
【问题讨论】:
-
您使用的是什么 RDBMS(SQL Server、MySQL 等)?
-
WHERE CHARINDEX(@NewProductAdded, @NewTotalProducts) > 0 AND CHARINDEX(@NewProductAdded, @OldTotalProducts) = 0
标签: sql string compare product