找回密码
 立即注册

QQ登录

只需一步,快速开始

qqqqnnnn

初级会员

21

主题

61

帖子

248

积分

初级会员

积分
248
qqqqnnnn
初级会员   /  发表于:2024-12-27 15:06  /   查看:49  /  回复:5
1金币



像这种动态设置是否模糊查询的效果,活字格可以实现吗?
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

假设要模糊查询产品名称中包含 “手机” 的产品信息,可以这样调用存储过程: 如果要严格查询产品类别为 “电子产品” 的产品,调用方式如下:

5 个回复

倒序浏览
最佳答案
最佳答案
amtath悬赏达人认证 活字格认证
论坛元老   /  发表于:5 天前
来自 4#
  1. 帮我写一个mssql ,字段模糊匹配和严格匹配的动态存储查询示例
复制代码
  1. 以下是一个在 SQL Server 中实现字段模糊匹配和严格匹配的动态存储过程查询示例,
复制代码
  1. -- 创建存储过程
  2. CREATE PROCEDURE GetProductsByDynamicMatch
  3.     -- 用于指定匹配类型,比如 'like' 表示模糊匹配,'=' 表示严格匹配
  4.     @MatchType NVARCHAR(10),  
  5.     -- 要匹配的字段名
  6.     @FieldName NVARCHAR(50),  
  7.     -- 匹配的值
  8.     @MatchValue NVARCHAR(255)  
  9. AS
  10. BEGIN
  11.     DECLARE @sql NVARCHAR(MAX);
  12.     SET @sql = N'SELECT * FROM Products WHERE ';
  13.    
  14.     -- 根据传入的匹配类型来构建不同的条件语句
  15.     IF @MatchType = 'like'
  16.     BEGIN
  17.         SET @sql = @sql + QUOTENAME(@FieldName) + N' LIKE ''%' + @MatchValue + '%''';
  18.     END
  19.     ELSE IF @MatchType = '='
  20.     BEGIN
  21.         SET @sql = @sql + QUOTENAME(@FieldName) + N' = ''' + @MatchValue + '''';
  22.     END
  23.     ELSE
  24.     BEGIN
  25.         -- 如果传入的匹配类型不合法,返回提示信息
  26.         RAISERROR('Invalid match type specified.', 16, 1);
  27.         RETURN;
  28.     END
  29.    
  30.     -- 执行动态构建的 SQL 语句
  31.     EXEC sp_executesql @sql;
  32. END
复制代码



假设要模糊查询产品名称中包含 “手机” 的产品信息,可以这样调用存储过程:


  1. EXEC GetProductsByDynamicMatch @MatchType = 'like', @FieldName = 'ProductName', @MatchValue = '手机';
复制代码

  1. SELECT * FROM Products WHERE [ProductName] LIKE '%手机%';
复制代码


如果要严格查询产品类别为 “电子产品” 的产品,调用方式如下:



  1. EXEC GetProductsByDynamicMatch @MatchType = '=', @FieldName = 'Category', @MatchValue = '电子产品';
复制代码
  1. SELECT * FROM Products WHERE [Category] = '电子产品';
复制代码


评分

参与人数 1金币 +5 收起 理由
Lay.Li + 5 赞一个!

查看全部评分

回复 使用道具 举报
amtath悬赏达人认证 活字格认证
论坛元老   /  发表于:5 天前
2#

这个地方只能选择决定了你想要的效果实现起来困难重重。
但你要问可以实现吗 那是可以的,
用条件走分支,但组合起来有点傻
或者走存储过程也可以,但那样就有点门槛了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
qqqqnnnn
初级会员   /  发表于:5 天前
3#
存储过程方便指导一下吗?
回复 使用道具 举报
qqqqnnnn
初级会员   /  发表于:5 天前
5#
amtath 发表于 2024-12-27 15:49
假设要模糊查询产品名称中包含 “手机” 的产品信息,可以这样调用存储过程:

明白了谢谢
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:前天 11:10
6#
感谢各位大佬的支持~
后边有问题呢欢迎您继续发帖交流
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部