實(shí)現(xiàn)按關(guān)健字模糊查詢,并按匹配度排序的SQL語(yǔ)句
IF OBJECT_ID('TB')IS NOT NULL DROP TABLE TB
GO
CREATE TABLE tb (ID INT IDENTITY(1,1),VALUE NVARCHAR(100))
INSERT tb SELECT N'中國(guó)'
UNION ALL SELECT N'中國(guó)人'
UNION ALL SELECT N'中國(guó)人民'
UNION ALL SELECT N'日本'
UNION ALL SELECT N'日本人'
UNION ALL SELECT N'我的心中有人姑娘'
UNION ALL SELECT N'人民網(wǎng)'
UNION ALL SELECT N'中國(guó)是個(gè)偉大的國(guó)家'
UNION ALL SELECT N'我們都是中國(guó)人,都是炎黃子孫,都是龍人傳人'
IF OBJECT_ID('fn_SplitStringToROWS')IS NOT NULL DROP FUNCTION fn_SplitStringToROWS
GO
CREATE FUNCTION fn_SplitStringToROWS
(
@str NVARCHAR(100)
)
RETURNS @t TABLE(v NVARCHAR(2))
AS
BEGIN
DECLARE @i INT
SET @i=1
WHILE @i<=LEN(@str)
BEGIN
INSERT @t SELECT SUBSTRING(@str,@i,1)
SET @i=@i+1
END
RETURN
END
GO
SELECT * FROM DBO.fn_SplitStringToROWS(N'中國(guó)人')
DECLARE @searchSTR NVARCHAR(20)
SET @searchSTR=N'中國(guó)人'
SELECT ID,[VALUE] FROM tb a
INNER JOIN fn_SplitStringToROWS(@searchSTR) b
ON CHARINDEX(b.v,a.VALUE)>0
WHERE VALUE LIKE N'%[中國(guó)人]%'
GROUP BY ID,VALUE
ORDER BY COUNT(DISTINCT v) DESC
DROP TABLE tb
/*
v
----
中
國(guó)
人
(3 個(gè)資料列受到影響)
ID VALUE
----------- ----------------------------------------------------------------------------------------------------
2 中國(guó)人
3 中國(guó)人民
9 我們都是中國(guó)人,都是炎黃子孫,都是龍人傳人
6 我的心中有人姑娘
1 中國(guó)
8 中國(guó)是個(gè)偉大的國(guó)家
5 日本人
7 人民網(wǎng)
(8 個(gè)資料列受到影響)
*/
相關(guān)文章
SQL?Server主鍵與外鍵設(shè)置以及相關(guān)理解
在數(shù)據(jù)庫(kù)的學(xué)習(xí)中對(duì)于一個(gè)表的主鍵和外鍵的認(rèn)識(shí)是非常重要的,下面這篇文章主要給大家介紹了關(guān)于SQL?Server主鍵與外鍵設(shè)置以及相關(guān)理解的相關(guān)資料,需要的朋友可以參考下2022-10-10
SQL Server中使用Trigger監(jiān)控存儲(chǔ)過(guò)程更改腳本實(shí)例
這篇文章主要介紹了SQL Server中使用Trigger監(jiān)控存儲(chǔ)過(guò)程更改腳本實(shí)例,本文使用一個(gè)表來(lái)記錄存儲(chǔ)過(guò)程更改過(guò)程,需要的朋友可以參考下2015-07-07
Godaddy 導(dǎo)入導(dǎo)出MSSQL數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟
可以從限制文件中導(dǎo)入SQL共享服務(wù)器數(shù)據(jù)庫(kù)。如果想把存放在其他地方的數(shù)據(jù)導(dǎo)入,需要先把其內(nèi)容拷到限制文件中。(2010-02-02
sql?server中的觸發(fā)器用法實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于sql?server中觸發(fā)器用法的相關(guān)資料,SQL Server觸發(fā)器是一種特殊類型的存儲(chǔ)過(guò)程,它們?cè)跀?shù)據(jù)庫(kù)中的表上自動(dòng)執(zhí)行,需要的朋友可以參考下2024-03-03
SQL?Server數(shù)據(jù)庫(kù)創(chuàng)建遠(yuǎn)程服務(wù)器備份計(jì)劃(SQL Server2016)
最近項(xiàng)目系統(tǒng)做安全加固,以前是本地備份,現(xiàn)在需要做遠(yuǎn)程內(nèi)網(wǎng)服務(wù)器數(shù)據(jù)庫(kù)備份,后期也有可能做異地備份,下面以SQL Server2016 內(nèi)網(wǎng)服務(wù)器數(shù)據(jù)庫(kù)備份為例給大家詳細(xì)講解SQL?Server數(shù)據(jù)庫(kù)創(chuàng)建遠(yuǎn)程服務(wù)器備份計(jì)劃,感興趣的朋友一起看看吧2023-10-10
jdbc連接sql server數(shù)據(jù)庫(kù)問(wèn)題分析
SQL Server連接中問(wèn)題還真多。不進(jìn)行設(shè)置還真連接不上,這里總結(jié)一下,需要的朋友可以參考2012-12-12
用SQL統(tǒng)計(jì)SQLServe表存儲(chǔ)空間大小的代碼
當(dāng)SQLServer數(shù)據(jù)庫(kù)越來(lái)越龐大,而其中的表有非常多的時(shí)候,想要知道到底是哪些表最耗存儲(chǔ)空間,到底該怎樣統(tǒng)計(jì)各個(gè)表的存儲(chǔ)大小呢2012-05-05
SQL Server 數(shù)據(jù)太多優(yōu)化的方法
本文介紹了幾種優(yōu)化SQLServer數(shù)據(jù)庫(kù)性能的方法,包括索引優(yōu)化、數(shù)據(jù)分區(qū)和分表、數(shù)據(jù)歸檔、存儲(chǔ)和硬件優(yōu)化、數(shù)據(jù)庫(kù)參數(shù)和配置優(yōu)化、批量數(shù)據(jù)處理、清理無(wú)用數(shù)據(jù)、使用緩存、并行查詢與并發(fā)以及SQLServer實(shí)例優(yōu)化,這些方法可以幫助在處理大量數(shù)據(jù)時(shí)保持較好的性能2024-11-11

