code_junkie

Filtering With Multi-Select Boxes With SQL Server

Nov 13th, 2011
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. SELECT
  2. my_column
  3. FROM
  4. My_Table
  5. WHERE
  6. @my_string LIKE '%|' + my_column + '|%'
  7.  
  8. /*
  9. Name: GetTableFromStringList
  10. Description: Returns a table of values extracted from a delimited list
  11. Parameters:
  12. @StringList - A delimited list of strings
  13. @Delimiter - The delimiter used in the delimited list
  14.  
  15. History:
  16. Date Name Comments
  17. ---------- ------------- ----------------------------------------------------
  18. 2008-12-03 T. Hummel Initial Creation
  19. */
  20. CREATE FUNCTION dbo.GetTableFromStringList
  21. (
  22. @StringList VARCHAR(1000),
  23. @Delimiter CHAR(1) = ','
  24. )
  25. RETURNS @Results TABLE
  26. (
  27. String VARCHAR(1000) NOT NULL
  28. )
  29. AS
  30. BEGIN
  31. DECLARE
  32. @string VARCHAR(1000),
  33. @position SMALLINT
  34.  
  35. SET @StringList = LTRIM(RTRIM(@StringList)) + @Delimiter
  36. SET @position = CHARINDEX(@Delimiter, @StringList)
  37.  
  38. WHILE (@position > 0)
  39. BEGIN
  40. SET @string = LTRIM(RTRIM(LEFT(@StringList, @position - 1)))
  41.  
  42. IF (@string <> '')
  43. BEGIN
  44. INSERT INTO @Results (String) VALUES (@string)
  45. END
  46.  
  47. SET @StringList = RIGHT(@StringList, LEN(@StringList) - @position)
  48. SET @position = CHARINDEX(@Delimiter, @StringList, 1)
  49. END
  50.  
  51. RETURN
  52. END
  53.  
  54. <option value="3">Car</option>
  55. <option value="4">Carpret</option>
  56.  
  57. SELECT * FROM tblTable WHERE option IN (selected_option_1, selected_option_2, selected_option_n)
Add Comment
Please, Sign In to add comment