Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Podziel ciąg znaków przecinkiem w SQL Server 2008

Następujące działania będą działać -

DECLARE @A VARCHAR (100)= '4,5,6'
DECLARE @B VARCHAR (100)= 'RXXXXXX'
DECLARE @RETURN_VALUE BIT = 1 --DEFAULT 1


SELECT items
INTO #STRINGS 
FROM dbo.split(@A,',')

IF EXISTS(SELECT 1 FROM #STRINGS S WHERE CHARINDEX(items, @B) > 0)
SET @RETURN_VALUE = 0

PRINT @RETURN_VALUE

DROP TABLE #STRINGS

Możesz także użyć ZAWIERA zamiast CHARINDEX -

IF EXISTS(SELECT 1 FROM #STRINGS S WHERE CONTAINS(items, @B))
SET @RETURN_VALUE = 0



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy kolumna klucza podstawowego Sequential Guid powinna być indeksem klastrowym?

  2. Zdezorientowany co do kolejności logicznego przetwarzania zapytań Itzika Ben-Gana w jego książce SQL Server 2005 i SQL Server 2008

  3. Obowiązkowy klucz podstawowy dla serwera SQL

  4. Czy funkcja T-SQL może zwrócić typ tabeli zdefiniowany przez użytkownika?

  5. TDS Server — używaj instrukcji Transact-SQL (T-SQL) do pracy z danymi Salesforce w SQL Server