code_junkie

T-SQL trim &nbsp (and other non-alphanumeric characters)

Nov 10th, 2011
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. UPDATE myTable
  2. SET myColumn = replace(myColumn,char(160),'')
  3. WHERE charindex(char(160),myColumn) > 0
  4.  
  5. -- Put something like this into a user function:
  6. DECLARE @cString VARCHAR(32)
  7. DECLARE @nPos INTEGER
  8. SELECT @cString = '90$%45623 *6%}~:@'
  9. SELECT @nPos = PATINDEX('%[^0-9]%', @cString)
  10.  
  11. WHILE @nPos > 0
  12. BEGIN
  13. SELECT @cString = STUFF(@cString, @nPos, 1, '')
  14. SELECT @nPos = PATINDEX('%[^0-9]%', @cString)
  15. END
  16.  
  17. SELECT @cString
  18.  
  19. CREATE FUNCTION [dbo].[fnRemoveBadCharacter]
  20. (
  21. @BadString nvarchar(20)
  22. )
  23. RETURNS nvarchar(20)
  24. AS
  25. BEGIN
  26.  
  27. DECLARE @nPos INTEGER
  28. SELECT @nPos = PATINDEX('%[^a-zA-Z0-9_]%', @BadString)
  29.  
  30. WHILE @nPos > 0
  31. BEGIN
  32. SELECT @BadString = STUFF(@BadString, @nPos, 1, '')
  33. SELECT @nPos = PATINDEX('%[^a-zA-Z0-9_]%', @BadString)
  34. END
  35.  
  36. RETURN @BadString
  37. END
  38.  
  39. UPDATE TableToUpdate
  40. SET ColumnToUpdate = dbo.fnRemoveBadCharacter(ColumnToUpdate)
  41. WHERE whatever
Add Comment
Please, Sign In to add comment