一個比較笨的全文搜索的例子(分析結構用)-模糊查找

 1  
 2 
 3 
 4  --在所有的char類型的列中模糊查找某個值。
 5 --**注意預先切換到當前的數據庫中。
 6 DECLARE  @TABLE_CATALOG NVARCHAR(MAX)--數據庫名
 7   ,@TABLE_SCHEMA NVARCHAR(MAX)--架構名
 8   ,@TABLE_NAME NVARCHAR(MAX)--表名
 9   ,@COLUMN_NAME NVARCHAR(MAX)--列名
10   ,@SQL NVARCHAR(MAX)--動態sql語句
11   ,@find_char nvarchar(max)--查找的內容變量
12 --*********************************************************************************
13   set @find_char='1月22日支辦公費、車修、過路費、宿費等款'--輸入查找的內容
14 --*********************************************************************************
15 declare @t table (TABLE_CATALOG NVARCHAR(MAX)
16   ,TABLE_SCHEMA NVARCHAR(MAX)
17   ,TABLE_NAME NVARCHAR(MAX)
18   ,COLUMN_NAME NVARCHAR(MAX))--定義表變量
19 DECLARE C1 CURSOR FOR--定義游標,從INFORMATION_SCHEMA.COLUMNS和INFORMATION_SCHEMA.TABLES兩個系統視圖中獲取表和字段的信息,用于下面構建動態sql語句
20   SELECT A.TABLE_CATALOG
21     ,A.TABLE_SCHEMA
22     ,A.TABLE_NAME
23     ,A.COLUMN_NAME
24   FROM INFORMATION_SCHEMA.COLUMNS A--注意在這里修改數據庫名稱
25   JOIN INFORMATION_SCHEMA.TABLES B--注意在這里修改數據庫名稱
26   ON  A.TABLE_CATALOG=B.TABLE_CATALOG
27    AND A.TABLE_SCHEMA=B.TABLE_SCHEMA
28    AND A.TABLE_NAME=B.TABLE_NAME
29         WHERE   B.TABLE_TYPE='BASE TABLE'--僅僅查詢表,不包括視圖,可根據實際情況修改
30     AND 
31      A.TABLE_NAME  IN 
32      (select a.name--,b.rowcnt--,object_name(b.id),a.id 
33      from sysobjects a join sysindexes b
34      on a.id=b.id 
35      where a.xtype='u' and b.indid<2 
36                      --and a.name like '%zy%'--限定表的名稱
37                      --and rowcnt <=10000--限定記錄條數
38      )
39     AND
40      (DATA_TYPE LIKE N'%CHAR' or DATA_TYPE like N'%text')--僅僅查找CHAR類型的列CHAR,VARCHAR,NCHAR,NVARCHAR四種情況,可根據實際情況修改
41 
42 OPEN C1
43 FETCH NEXT FROM C1 INTO    @TABLE_CATALOG
44         ,@TABLE_SCHEMA
45         ,@TABLE_NAME
46         ,@COLUMN_NAME
47 WHILE @@FETCH_STATUS=0
48 BEGIN
49  SET @SQL=
50     'IF EXISTS (SELECT ['+@COLUMN_NAME+'] FROM ['+@TABLE_CATALOG+'].['+@TABLE_SCHEMA+'].['
51     +@TABLE_NAME+'] WHERE ['+@COLUMN_NAME+'] like ''%'+@find_char+'%'')'--模糊查找
52     +'print ''select * from ['' + @TABLE_CATALOG+''].['' + @TABLE_SCHEMA+''].['' + @TABLE_NAME + ''] where ['' + @COLUMN_NAME + ''] like %''+@find_char+''%'''--構建動態sql語句,生成可以直接查詢的語句。
53     EXEC SP_EXECUTESQL @SQL--執行動態sql語句
54       ,N'@TABLE_CATALOG NVARCHAR(MAX) OUT
55       ,@TABLE_SCHEMA NVARCHAR(MAX) OUT
56       ,@TABLE_NAME NVARCHAR(MAX) OUT
57       ,@COLUMN_NAME NVARCHAR(MAX) OUT
58       ,@find_char nvarchar(max) out'
59       ,@TABLE_CATALOG  OUT
60       ,@TABLE_SCHEMA  OUT
61       ,@TABLE_NAME OUT
62       ,@COLUMN_NAME OUT
63       ,@find_char  out--生成的查詢語句仍然需要手工加上單引號
64    FETCH NEXT FROM C1 INTO   @TABLE_CATALOG
65        ,@TABLE_SCHEMA 
66        ,@TABLE_NAME
67        ,@COLUMN_NAME
68 END
69 CLOSE C1
70 DEALLOCATE C1
71   

?

轉載于:https://www.cnblogs.com/bgbird/p/4959228.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256428.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256428.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256428.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

未能加載文件或程序集“Poderosa.Core

https://github.com/poderosaproject/poderosa上下載的一個開源工程&#xff0c;程序是在VS2012上編譯的&#xff0c;然后VS2015轉換后編譯失敗&#xff0c;報“未能加載文件或程序集“Poderosa.Core......”的錯誤 猜測是轉換的時候引用丟失了&#xff0c;于是添加引用 F:\...…

個人閱讀作業Week7

上了大學之后其實就沒有很多時間去讀書了&#xff0c;與其說軟工作業時給我們布置了一些任務&#xff0c;但是也是在另一方面讓我們得到了更多的知識的填補&#xff0c;因為平常能夠接觸的書籍很少&#xff0c;平常自己也是一個很不愛看書的人&#xff0c;所以我覺得這樣的作業…

圖像的像素、分辨率、像元尺寸、大小、清晰度的關系

圖像的像素&#xff1a; 圖像是由像素所組成的&#xff0c;像素的多少表明攝像機所含有的感光元件的多少。像素是指一張圖像中所有的像素數之和。 圖像分辨率&#xff1a; 是指表達方式也為“水平像素數垂直像素數” 像元尺寸&#xff1a; 是指一個像素在長和寬方向上所代表的實…

機器學習——支持向量機SVM實例(兵王問題,SVM求解步驟以及思路,不求解不編程)

目錄 一、問題描述&#xff08;兵王問題&#xff09; 二、步驟 1、獲得數據 2、樣本劃分&#xff08;訓練樣本和測試樣本&#xff09; 3、訓練樣本得到SVM模型 ? 1&#xff09;數據處理 2&#xff09;訓練樣本和測試樣本歸一化 3&#xff09;選擇核函數和調參 4&#…

單攝像機對于二維平面的測量

二維平面測量 首先我們應該知道什么是二維平面&#xff0c;二維平面簡單的說就是只含有x,y坐標系的平面&#xff0c;在z軸上沒有當量。這種一般出現在對于一個平面的寬度&#xff0c;長度&#xff0c;變形的測量&#xff0c;一般應用較多的場合是對一個規則的機械零件進行尺寸…

十六進制,輸出的時候怎樣控制所輸出字母的大小寫。

the first&#xff1a;printf("%x",10);printf("%X",10); 可以用x的大小寫來控制&#xff0c;所輸出字符的大小寫&#xff0c;真是一個巧妙的技能。轉載于:https://www.cnblogs.com/A-FM/p/4970114.html

Django的安裝

Django是Python的一款Web開源框架&#xff0c;所以Django是依賴于Python的&#xff0c;首先要安裝Python。 Python安裝 官網地址&#xff1a;http://www.python.org/download/ 在安裝Python的時候&#xff0c;會有人糾結&#xff0c;是要安裝Python2還是Python3呢&#xff1f;其…

機器學習——支持向量機SVM之多分類問題

目錄 方法1&#xff1a;改造目標函數與限制條件 方法2&#xff1a;一類對其他類&#xff08;類數為N&#xff0c;需要建立N個SVM模型&#xff09; 情形1&#xff1a;多個SVM模型結果交集得出確切歸類 情形2&#xff1a;多個SVM模型結果交集沒有得出確切歸類 方法3&#xff…

python3版本無法加載reload解決辦法NameError: name 'reload' is not defined

很多人在運行八點法求基礎矩陣問題時&#xff0c;都會遇到NameError: name ‘reload’ is not defined的錯誤 只需在最前面加上from imp import reload即可

hdu 2612 Find a way(bfs)

Problem DescriptionPass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki. Yifenfei’s home is at the countryside, but Merceki’s home is in …

定義類或對象

學習總結&#xff1a; 工廠方式 原始的方式&#xff08;對象創建后動態定義對象的屬性&#xff09; var oCar new Object; oCar.color "blue"; oCar.doors 4; oCar.mpg 25; oCar.showColor function() {alert(this.color); };創建對象 car&#xff0c;屬性&…

七橋問題

怎么不重復地走完連接兩座島和陸地的七座橋&#xff1f; 簡化為以下&#xff1a; 答案是不能走完的。 奇點&#xff1a;這個點有奇數條線匯聚于此 偶點&#xff1a;這個點有奇數條線匯聚于此 七橋問題——一筆畫問題 若一個圖形全部是偶點或者只有2個奇點&#xff08;沒有…

office2016打開PPT出現解決VBE6EXT.OLB不能被加載問題的解決辦法

第一步 打開路徑C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\VBA。找到VBA只要是默認安裝路徑均一樣。 第二步 打開VBA6找到VBE6EXT.OLB將其復制到VBA7.1中。 第三步 打開VBA7.1找到VBE7.DLL將其復制到VBA6中。 第四步…

20151118小問題

1.模板引擎 百度百科:模板引擎(這里特指用于Web開發的模板引擎)是為了使 用戶界面與業務數據(內容)分享而產生的,它或以生成特定格式的文檔,用于網站的模板引擎就會產生一個標準的HTML文檔. 目的:生成一個標準的HTML文檔. 概念:模板引擎不屬于特定技術領域,它是跨領域跨平臺的概…

機器學習——人工神經網絡之發展歷史(神經元數學模型、感知器算法)

目錄 一、神經元的數學模型 ? 二、感知器算法&#xff08;SVM算法前身&#xff09; 1、目的 2、流程 >>>問題1&#xff1a;下圖w和b的調整是什么意思&#xff1f; 3、算法的有效性驗證 1&#xff09;原算法 2&#xff09;增廣矩陣 3&#xff09;修改后的算法…

PHP 基礎知識-數組

PHP 的數組主要分為&#xff1a; 索引數組 - 帶有數字索引的數組關聯數組 - 帶有指定鍵的數組多維數組 - 包含一個或多個數組的數組 索引數組&#xff1a;有兩種創建索引數組的方法&#xff1a;索引是自動分配的&#xff08;索引從 0 開始&#xff09;&#xff1a; 第一…

打開word2016總是出現很抱歉,此功能看似中斷需要修復。。問題解決辦法

第一步 打開運行窗口&#xff0c;在電腦桌面左下角有個圓圈點擊進去&#xff0c;輸入regedit&#xff0c;即可進入。 第二步 打開HKEY_CURRENT_USER中的SOFTWARE 第三步 找到HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Word\Options項如圖紅色箭頭標示。然后點擊O…

機器學習——人工神經網絡之多層神經網絡(多層與三層)

目錄 一、多層神經網絡 1、多層神經網絡數學模型 2、數學模型中的非線性函數fai 1&#xff09;非線性函數fai存在的意義 2&#xff09;非線性函數fai具體是什么&#xff1f; 3、多層神經網絡與單層神經網絡的區別與改進 1&#xff09;單層神經網絡數學模型 2&#xff0…

noip2012-day2-t2

【問題描述】 在大學期間&#xff0c;經常需要租借教室。大到院系舉辦活動&#xff0c;小到學習小組自習討論&#xff0c;都需要向學校申請借教室。教室的大小功能不同&#xff0c;借教室人的身份不同&#xff0c;借教室的手續也不一樣。 面對海量租借教室的信息&#xff0c;我…