我有一列包含许多行。我正在将值列表传递给方法。我希望返回此列的子字符串包含我要查找的值的所有行。
目前,我正在使用CHARINDEX
检查单个子字符串,并OR CHARINDEX
为每个后续子字符串附加。这很混乱,我相信你会欣赏的。
所以,目前,我有:
[Long SQL query]...
queryString.Append(string.Format(" (AND CHARINDEX( '{0}', Table.Column ) > 0 ", ListOfValues[0]));
foreach (string value in ListOfValues)
{
queryString.Append(string.Format("OR CHARINDEX( '{0}', Table.Column ) > 0 ", value));
}
queryString.Append(string.Format(")AND CHARINDEX( '{0}', Table.Column) > 0)"));
queryString.Append(")");
有没有更可怕的语法方式来做到这一点?:)
谢谢