MSSQL 所有表中模糊查询
- --搜索指定数据在那个对象中存在.txt(所有表中模糊查询)
- CREATE PROC sp_ValueSearch
- @value sql_variant, --要搜索的数据
- @precision bit=1 --1=仅根据sql_variant中的数据类型查找对应类型的数据列.<>1,查询兼容的所有列,字符数据使用like匹配
- AS
- SET NOCOUNT ON
- IF @value IS NULL RETURN
- --数据类型处理
- SELECT xtype INTO #t FROM systypes
- WHERE name=SQL_VARIANT_PROPERTY(@value,N'BaseType')
- --扩展数据类型及查询处理语句
- DECLARE @sql nvarchar(4000),@sql1 nvarchar(4000)
- IF @precision=1
- SET @sql=CASE SQL_VARIANT_PROPERTY(@value,N'BaseType')
- WHEN N'text' THEN N' LIKE N''%''+CAST(@value as varchar(8000))+''%'''
- WHEN N'ntext' THEN N' LIKE ''%''+CAST(@value as nvarchar(4000))+''%'''
- ELSE N'=@value' END
- ELSE
- BEGIN
- SET @sql=CAST(SQL_VARIANT_PROPERTY(@value,N'BaseType') as sysname)
- IF @sql LIKE N'%char' or @sql LIKE N'%text'
- BEGIN
- INSERT #t SELECT xtype FROM systypes
- WHERE name LIKE N'%char' or name LIKE N'%text'
- SELECT @sql=N' LIKE N''%''+CAST(@value as '
- +CASE
- WHEN LEFT(@sql,1)=N'n' THEN ' nvarchar(4000)'
- ELSE 'varchar(8000)' END
- +N')+N''%'''
- END
- ELSE IF @sql LIKE N'%datetime'
- BEGIN
- INSERT #t SELECT xtype FROM systypes
- WHERE name LIKE N'%datetime'
- SET @sql=N'=@value'
- END
- ELSE IF @sql LIKE N'%int'
- OR @sql LIKE N'%money'
- OR @sql IN(N'real',N'float',N'decimal',N'numeric')
- BEGIN
- INSERT #t SELECT xtype FROM systypes
- WHERE name LIKE N'%int'
- OR name LIKE N'%money'
- OR name IN(N'real',N'float',N'decimal')
- SET @sql=N'=@value'
- END
- ELSE
- SET @sql=N'=@value'
- END
- --保存结果的临时表
- CREATE TABLE #(TableName sysname,FieldName sysname,Type sysname,SQL nvarchar(4000))
- DECLARE tb CURSOR LOCAL
- FOR
- SELECT N'SELECT * FROM '
- +QUOTENAME(USER_NAME(o.uid))
- +N'.'+QUOTENAME(o.name)
- +N' WHERE '+QUOTENAME(c.name)
- +@sql,
- N'INSERT # VALUES(N'+QUOTENAME(o.name,N'''')
- +N',N'+QUOTENAME(c.name,N'''')
- +N',N'+QUOTENAME(QUOTENAME(t.name)+CASE
- WHEN t.name IN (N'decimal',N'numeric')
- THEN N'('+CAST(c.prec as varchar)+N','+CAST(c.scale as varchar)+N')'
- WHEN t.name=N'float'
- OR t.name like N'%char'
- OR t.name like N'%binary'
- THEN N'('+CAST(c.prec as varchar)+N')'
- ELSE N'' END,N'''')
- +N',@sql)'
- FROM sysobjects o,syscolumns c,systypes t,#t tt
- WHERE o.id=c.id
- AND c.xusertype=t.xusertype
- AND t.xtype=tt.xtype
- AND OBJECTPROPERTY(o.id,N'IsUserTable')=1
- OPEN tb
- FETCH tb INTO @sql,@sql1
- WHILE @@FETCH_STATUS=0
- BEGIN
- SET @sql1=N'IF EXISTS('+@sql+N') '+@sql1
- EXEC sp_executesql @sql1,N'@value sql_variant,@sql nvarchar(4000)',@value,@sql
- FETCH tb INTO @sql,@sql1
- END
- CLOSE tb
- DEALLOCATE tb
- SELECT * FROM #
MSSQL 所有表中模糊查询的更多相关文章
- 表单模糊查询的三种简单方式(springboot-h2-mybatis)
前几天运营提到说后台管理系统有几个地方想要模糊查询.. 想了下是简单的,就是要注意以前方法的被调用情况,进行增量改动,以免牵一发而动全身.整理一波记录下(本次案例是按名字模糊查询学生信息). 三种 ...
- MyBatis Plus 实现多表分页模糊查询
项目中使用springboot+mybatis-plus来实现. 但是之前处理的时候都是一个功能,比如分页查询,条件查询,模糊查询. 这次将这个几个功能合起来就有点头疼,写下这边博客来记录自己碰到的问 ...
- mysql中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...
- exp导出一个表中符合查询条件的数据
原文地址:exp导出一个表中符合查询条件的数据 作者:charsi 导出一个表中的部分数据,使用QUERY参数,如下导出select * from test where object_id>50 ...
- TP框架中模糊查询实现
TP框架中模糊查询实现 $where['g.name'] = array('like','%'.$groupname.'%'); 表达式查询 上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式 ...
- 下面介绍mysql中模糊查询的四种用法:
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...
- mybatis中模糊查询的使用以及一些细节问题的注意事项
页面有个功能 为 根据 品牌名进行 关键字查询,对应到数据库的是brand表的name字段的模糊查询 如果用的是SSM框架,在mybatis中我们需要自己写sql语句,涉及到like的模糊查询,myb ...
- SQL中模糊查询的模式匹配
SQL模糊查询的语法为: “Select column FROM table Where column LIKE 'pattern'”. SQL提供了四种匹配模式: 1. % 表示任意0个或多个字符. ...
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> <title>We ...
随机推荐
- poj 1016 Numbers That Count
点击打开链接 Numbers That Count Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 17922 Accep ...
- JavaScript显示分页按钮
/** * 获取分页按钮 * @param total_page 总页数 * @param current_page 当前页 * @param num 每页显示多少个分页按钮 * @returns { ...
- Android中 View not attached to window manager错误的解决办法
前几日出现这样一个Bug是一个RuntimeException,详细信息是这样子的:java.lang.IllegalArgumentException: View not attached to w ...
- php 获取图片主要颜色的方法
本文章向码农们介绍php 获取图片主要颜色的方法,主要涉及php针对图片的相关操作技巧,需要的码农可以参考一下. $i = imagecreatefromjpeg("image.jpg&qu ...
- Hibernate——主键配置
<id>元素中的<generator>用来为该持久化类的实例生成唯一的标识,hibernate提供了很多内置的实现. Increment:由hibernate自动递增生成标识符 ...
- android Json 解析和生成
什么是json: JSON即JavaScript Object Natation的简称,它是一种轻量级的数据交换格式,非常适合服务器与JavaScript的交互.JSON易于人阅读和编写.同时也易于机 ...
- Vertex中实现每顶点光照的镜面高光效果
1,基础知识讲解 一个物体在自然界会收到三种光的影响,周围的环境光.漫反射和镜面反射.那么对于计算机要想模拟现实中的光照,就应该也会实现这三种基本光照->环境光.漫反射.镜面高光.对于这三种光照 ...
- Unity Shader:Blur
花了一晚上的时间终于看懂Image Effect中的Blur,其实很简单,就是一下子没有理解到. 原理:使用两个一维[1*7]的高斯滤波模板,一个用在x方向,另一个用在y方向.高斯滤波有模糊的效果. ...
- Markdown 编辑器语法指南
基本技巧 代码 如果你只想高亮语句中的某个函数名或关键字,可以使用 `function_name()` 实现 通常编辑器根据代码片段适配合适的高亮方法,但你也可以用 ``` 包裹一段代码,并指定一种语 ...
- Ceph–s ceph 集群状态
[root@ceph-mon1 ~]# ceph -s cluster 03f3afd4-4cc6-4083-a34c-845446a59cd4 health HEALTH_OK monmap e1: ...