SQL 比較一個集合是否在另一個集合里存在的方法分享
更新時間:2011年11月15日 23:51:07 作者:
SQL 比較一個集合是否在另一個集合里存在的方法分享,需要的朋友可以參考下。
復(fù)制代碼 代碼如下:
DECLARE @c INT
DECLARE @c2 INT
SELECT @c = COUNT(1)
FROM dbo.SplitToTable('1|2|3|4', '|')
SELECT @c2=COUNT(1)
FROM dbo.SplitToTable('1|2|3|4', '|') a
INNER JOIN dbo.SplitToTable('1|2|3|', '|') b ON a.value = b.value
IF @c = @c2
SELECT 'ok'
ELSE
SELECT 'no'
SplitToTable這個函數(shù)如下:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER FUNCTION [dbo].[SplitToTable]
(
@SplitString NVARCHAR(MAX) ,
@Separator NVARCHAR(10) = ' '
)
RETURNS @SplitStringsTable TABLE
(
[id] INT IDENTITY(1, 1) ,
[value] NVARCHAR(MAX)
)
AS
BEGIN
DECLARE @CurrentIndex INT ;
DECLARE @NextIndex INT ;
DECLARE @ReturnText NVARCHAR(MAX) ;
SELECT @CurrentIndex = 1 ;
WHILE ( @CurrentIndex <= LEN(@SplitString) )
BEGIN
SELECT @NextIndex = CHARINDEX(@Separator, @SplitString,
@CurrentIndex) ;
IF ( @NextIndex = 0
OR @NextIndex IS NULL
)
SELECT @NextIndex = LEN(@SplitString) + 1 ;
SELECT @ReturnText = SUBSTRING(@SplitString,
@CurrentIndex,
@NextIndex - @CurrentIndex) ;
INSERT INTO @SplitStringsTable
( [value] )
VALUES ( @ReturnText ) ;
SELECT @CurrentIndex = @NextIndex + 1 ;
END
RETURN ;
END
相關(guān)文章
將備份的SQLServer數(shù)據(jù)庫轉(zhuǎn)換為SQLite數(shù)據(jù)庫操作方法
怎樣將備份的SQLServer數(shù)據(jù)庫轉(zhuǎn)換為SQLite數(shù)據(jù)庫操作方法:先要安裝好SQLServer2005,并且記住安裝時自己設(shè)置的用戶名和密碼,感興趣的朋友可以參考下啊,或許本文對你有所幫助2013-02-02sql 存儲過程分頁代碼 支持億萬龐大數(shù)據(jù)量
sql 存儲過程分頁代碼 支持億萬龐大數(shù)據(jù)量,需要的朋友可以參考下。2011-09-09SQL?Server日期時間和字符串之間的轉(zhuǎn)換方法實例
處理原始數(shù)據(jù)時,您可能經(jīng)常會遇到存儲為文本的日期值,將這些值轉(zhuǎn)換為日期數(shù)據(jù)類型非常重要,因為在分析過程中日期可能更有價值,下面這篇文章主要給大家介紹了關(guān)于SQL?Server日期時間和字符串之間的轉(zhuǎn)換方法,需要的朋友可以參考下2023-06-06SQL?Server如何設(shè)置用戶只能訪問特定數(shù)據(jù)庫和訪問特定表或視圖
最近項目中需要限定特定的用戶只能查看并訪問特定的數(shù)據(jù)庫,防止多個用戶對數(shù)據(jù)庫操作時一些誤操作,所以這篇文章主要給大家介紹了關(guān)于SQL?Server如何設(shè)置用戶只能訪問特定數(shù)據(jù)庫和訪問特定表或視圖的相關(guān)資料,需要的朋友可以參考下2023-04-04深入分析MSSQL數(shù)據(jù)庫中事務(wù)隔離級別和鎖機(jī)制
事務(wù)隔離級別簡單的說,就是當(dāng)激活事務(wù)時,控制事務(wù)內(nèi)因SQL語句產(chǎn)生的鎖定需要保留多入,影響范圍多大,以防止多人訪問時,在事務(wù)內(nèi)發(fā)生數(shù)據(jù)查詢的錯誤。設(shè)置事務(wù)隔離級別將影響整條連接。2014-08-08SQL Server 在分頁獲取數(shù)據(jù)的同時獲取到總記錄數(shù)
本文通過兩種方法給大家介紹SQL Server 在分頁獲取數(shù)據(jù)的同時獲取到總記錄數(shù),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05Sql Server中一個表2個字段關(guān)聯(lián)同一個表(代碼解決)
Sql Server中一個表2個字段關(guān)聯(lián)同一個表(代碼解決),需要的朋友可以參考一下2013-02-02