SQL 문의 정렬 및 표준 단어별 모호 조회

1790 단어
 
  
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' '
UNION ALL SELECT N' '
UNION ALL SELECT N' '
UNION ALL SELECT N' '
UNION ALL SELECT N' '
UNION ALL SELECT N' '
UNION ALL SELECT N' '
UNION ALL SELECT N' '
UNION ALL SELECT N' , , '
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' ')
DECLARE @searchSTR NVARCHAR(20)
SET @searchSTR=N' '
SELECT ID,[VALUE] FROM tb a
INNER JOIN fn_SplitStringToROWS(@searchSTR) b
ON CHARINDEX(b.v,a.VALUE)>0
WHERE VALUE LIKE N'%[ ]%'
GROUP BY ID,VALUE
ORDER BY COUNT(DISTINCT v) DESC
DROP TABLE tb

/*
v
----
중간
국가
사람
(3㎡Y 사료열 그림자 받음)
ID VALUE
----------- ----------------------------------------------------------------------------------------------------
중국인
중국인민
9 우리는 모두 중국인이다. 모두 염황의 자손이며, 모두 용인 후계자이다.
6 내 마음속에 처녀가 있다
중국
8 중국은 위대한 나라입니다.
5 일본인
인민망
(8㎡Y 사료열 그림자 받음)
*/

좋은 웹페이지 즐겨찾기