SQL 比較一個(gè)集合是否在另一個(gè)集合里存在的方法分享
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這個(gè)函數(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í)自己設(shè)置的用戶名和密碼,感興趣的朋友可以參考下啊,或許本文對(duì)你有所幫助2013-02-02sql 存儲(chǔ)過程分頁代碼 支持億萬龐大數(shù)據(jù)量
sql 存儲(chǔ)過程分頁代碼 支持億萬龐大數(shù)據(jù)量,需要的朋友可以參考下。2011-09-09SQL?Server日期時(shí)間和字符串之間的轉(zhuǎn)換方法實(shí)例
處理原始數(shù)據(jù)時(shí),您可能經(jīng)常會(huì)遇到存儲(chǔ)為文本的日期值,將這些值轉(zhuǎn)換為日期數(shù)據(jù)類型非常重要,因?yàn)樵诜治鲞^程中日期可能更有價(jià)值,下面這篇文章主要給大家介紹了關(guān)于SQL?Server日期時(shí)間和字符串之間的轉(zhuǎn)換方法,需要的朋友可以參考下2023-06-06SQL?Server如何設(shè)置用戶只能訪問特定數(shù)據(jù)庫和訪問特定表或視圖
最近項(xiàng)目中需要限定特定的用戶只能查看并訪問特定的數(shù)據(jù)庫,防止多個(gè)用戶對(duì)數(shù)據(jù)庫操作時(shí)一些誤操作,所以這篇文章主要給大家介紹了關(guān)于SQL?Server如何設(shè)置用戶只能訪問特定數(shù)據(jù)庫和訪問特定表或視圖的相關(guān)資料,需要的朋友可以參考下2023-04-04深入分析MSSQL數(shù)據(jù)庫中事務(wù)隔離級(jí)別和鎖機(jī)制
事務(wù)隔離級(jí)別簡單的說,就是當(dāng)激活事務(wù)時(shí),控制事務(wù)內(nèi)因SQL語句產(chǎn)生的鎖定需要保留多入,影響范圍多大,以防止多人訪問時(shí),在事務(wù)內(nèi)發(fā)生數(shù)據(jù)查詢的錯(cuò)誤。設(shè)置事務(wù)隔離級(jí)別將影響整條連接。2014-08-08SQL Server 在分頁獲取數(shù)據(jù)的同時(shí)獲取到總記錄數(shù)
本文通過兩種方法給大家介紹SQL Server 在分頁獲取數(shù)據(jù)的同時(shí)獲取到總記錄數(shù),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05Sql Server中一個(gè)表2個(gè)字段關(guān)聯(lián)同一個(gè)表(代碼解決)
Sql Server中一個(gè)表2個(gè)字段關(guān)聯(lián)同一個(gè)表(代碼解決),需要的朋友可以參考一下2013-02-02積分獲取和消費(fèi)的存儲(chǔ)過程學(xué)習(xí)示例
這篇文章主要介紹了積分獲取和消費(fèi)的存儲(chǔ)過程學(xué)習(xí)示例,這個(gè)只是學(xué)習(xí)一下存儲(chǔ)過程的使用方法,需要的朋友可以參考下2014-03-03