cast problem -- int to varchar

Ask a Question related to Microsoft SQL / MS SQL Server, Design and Development.

  1. #1

    Default cast problem -- int to varchar

    Hello,

    I have the following cross tab query...I need to convert the EmployeeStatus
    from an int to a varchar datatype so I can describe the result more clearly
    rather than just 0,1,2.
    I would like the result to say "new hired" instead of 1.
    I tried to cast around the SUM function but I got a conversion error.

    SELECT
    SUM(CASE EmployeeStatus
    WHEN 1
    THEN 'new hired'
    ELSE 'current'
    END) AS EmployeeStatus,
    EmployeeID
    FROM Employee
    WHERE StatusDate > '2003/07/01'
    GROUP BY EmployeeID

    Any suggestions???

    Thanks a bunch


    SQL Apprentice Guest

  2. Similar Questions and Discussions

    1. Cast problem
      Good day, I have a movie with an internal cast, wich contains castmembers that are externally linked. I want to get these castmembers into the...
    2. Cast problem in Datagrid
      Hi All I building Server Control Inherited from Datagrid: Thil line of code causes error: Dim ds As DataSet ds =...
    3. cast members moved in cast - neet to get htem back!!!
      Hello I inadvertedly pasted a cast member into my cast and it bumped the rest of the members one number forward, screwing up my lingo all over the...
    4. shared cast problem
      Hi, I have a few movies that share a cast. Now I moved members in this cast a bit and saved it. Other movies reconize this and ask to update...
    5. cast problem...
      Hi, I have a strange problem. After creating my movie and exporting the movie as a compressed version... i usddenly get a missing cast dialog.......
  3. #2

    Default Re: cast problem -- int to varchar

    Your result inside the CASE looks like this:

    'new hired'
    'new hired'
    'current'
    'new hired'

    How do you propose to do a SUM() on those?

    Did you mean:

    SELECT EmployeeID, EmployeeStatus = CASE EmployeeStatus
    WHEN 1 THEN 'new hired' ELSE 'current' END
    FROM Employee WHERE StatusDate >= '20030701'



    "SQL Apprentice" <mssqlworld@yahoo.com> wrote in message
    news:eP$$MBxRDHA.560@TK2MSFTNGP10.phx.gbl...
    > Hello,
    >
    > I have the following cross tab query...I need to convert the
    EmployeeStatus
    > from an int to a varchar datatype so I can describe the result more
    clearly
    > rather than just 0,1,2.
    > I would like the result to say "new hired" instead of 1.
    > I tried to cast around the SUM function but I got a conversion error.
    >
    > SELECT
    > SUM(CASE EmployeeStatus
    > WHEN 1
    > THEN 'new hired'
    > ELSE 'current'
    > END) AS EmployeeStatus,
    > EmployeeID
    > FROM Employee
    > WHERE StatusDate > '2003/07/01'
    > GROUP BY EmployeeID
    >
    > Any suggestions???
    >
    > Thanks a bunch
    >
    >

    Aaron Bertrand - MVP Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139