我有一列包含许多行。我正在将一个值列表传递给一个方法。我希望返回此列的子字符串包含我正在查找的值的所有行。检查SQL查询中的多个子字符串
目前,我正在使用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(")");
有较少语法可怕的方式做到这一点? :)
谢谢
你最后一次添加意味着什么?它似乎是一个占位符,但没有参数调用格式,我不知道它应该做什么... – Chris 2012-07-30 09:54:05
对不起,复制粘贴错误:) – 2012-07-30 10:15:24
您应该可以更新您的帖子来更正有问必答的问题。 – Chris 2012-07-30 13:54:43