Čištění textových řetězců na serveru SQL Server, udržování písmen a čísel na serveru SQL Server
Vytvořte funkci pro vyčištění textových řetězců všech znaků, které nejsou mezi 0-9 nebo AZ na serveru SQL Server
Přehled
Naše databáze utilit je plná úhledných funkcí.
Tenhle se používá k vyčištění dat před tím, než je vložíme do naší databáze, odstraněním veškerého textu, který není mezi „0“ a „Z“, smyčkování textovým řetězcem, dokud nenajdete žádné položky, které nejsou mezi hodnotami .
Základní funkcí je jednoduše procházet každý znak vstupní hodnoty a odstranit všechny, které nespadají do rozsahu indexového vzoru.
Pokud potřebujete pouze čísla, pak se hodnota [^ 0-Z] změní na [^ 0-9].
Alternativně pro pouze text je to [^ aZ].
SQL
CREATE Function [dbo].[CleanToText](@Data VARCHAR(100))Returns VARCHAR(100)AS BEGIN DECLARE @Letter INT SET @Letter =PATINDEX('%[^0-Z]%',@Data) BEGIN WHILE @Letter>0 BEGIN SET @Data =STUFF(@Data,@Letter,1,'') SET @Letter =PATINDEX('%[^0-Z]%',@Data) END END RETURN @DataENDGOSELECT dbo.CleanToText('info@claytabase.co.uk')
Přehled
Vrátí následující řetězec 'infoclaytabasecouk', přičemž odstraní znaky „@“ a „.“.