sql >> Database >  >> RDS >> Sqlserver

Controleer of een tekenreeks een subtekenreeks bevat in SQL Server 2005, met behulp van een opgeslagen procedure

CHARINDEX() zoekt naar een subtekenreeks binnen een grotere tekenreeks en retourneert de positie van de overeenkomst, of 0 als er geen overeenkomst is gevonden

if CHARINDEX('ME',@mainString) > 0
begin
    --do something
end

Bewerken of van Daniels antwoord, als je een woord wilt vinden (en geen subcomponenten van woorden), je CHARINDEX oproep zou er als volgt uitzien:

CHARINDEX(' ME ',' ' + REPLACE(REPLACE(@mainString,',',' '),'.',' ') + ' ')

(Voeg meer recursieve REPLACE()-aanroepen toe voor andere interpunctie die kan voorkomen)



  1. 7 belangrijke dingen om te onthouden over globalisering van datamodellen

  2. JSON_MODIFY() Voorbeelden in SQL Server (T-SQL)

  3. SQL Server SMO klaagt over ontbrekende DLL

  4. Kan INSERT [...] ON CONFLICT worden gebruikt voor schendingen van buitenlandse sleutels?