Friday, April 15, 2005

Handy SQL Tip

Using CASE for a conditional sort parameter in T-SQL:
CREATE PROCEDURE getEmployees ( @ColumnName varchar(100) )
AS
  SELECT
    EmployeeID,
    FirstName,
    LastName,
    SSN,
    Salary
  FROM
     Employees
  ORDER BY
    CASE
      WHEN @ColumnName='LastName' THEN LastName
      WHEN @ColumnName='Salary' THEN CONVERT(varchar(50), Salary)
      WHEN @ColumnName='SSN' THEN SSN
    END


Spotted on drury.net...

No comments: