日期:2014-05-17  浏览次数:20836 次

SQL语句问题,要实现间歇性匹配,怎么写?
例如:数据库里内容是“内容段1|内容段2|内容段3|内容段4”,现有内容“内容段1|内容段3”,此时我们说“现有内容存在于数据库”;但如果现有内容是“内容段5”,此时我们说“现有内容不存在于数据库”。不知道表达清了没有,这样的sql语句怎么写?

------解决方案--------------------
... where content like '%内容段1%' AND content like '%内容段3%'
不过要小心效率问题(如果没有全文搜索)。
------解决方案--------------------
数据库内容保持不变,如果是“内容段1
------解决方案--------------------
内容段5”,请问存在还是不存在?也就是说你这个存在是指部分存在还是必须每个都存在?
------解决方案--------------------
如果内容是在同一个字段内,可这样  

 string[] content = { "内容段1", "内容段2", "内容段3", "内容段4", "内容段5" };
            foreach (string con in content)
            {
                sql = "select *  from table  where content='"+con+"'";
                int i = ExecuteSql(sql);
                if (i>0)
                {
                    MessageBox.Show(con+"存在数据库中");
                }
                else
                {
                    MessageBox.Show(con+"不存在数据库中");
                }

            }

 //返回记录数
        public static int ExecuteSql(string SQLString)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                using (SqlCommand cmd = new SqlCommand(SQLString, connection))
                {
                    try
                    {
  &n