Use CASE to translate a value to a string

Use CASE to translate a value to a string

Is it possible in SQL to substitute a string if a certain value is returned from a query? For example,

select emp_id from emp_tb

returns

1
2
3

Would it be possible to replace 1 with John and 2 with Mary to give the end result of

John
Mary
3

    Requires Free Membership to View

    By submitting your registration information to SearchOracle.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchOracle.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

Yes, you can stuff a whole raft [syn: batch, deal, flock, good deal, great deal, hatful, heap, lot, mass, mess, mickle, mint, muckle, peck, pile, plenty, pot, quite a little, sight, slew, spate, stack, tidy sum, wad, whole lot, whole slew] of translations into the SELECT if you wish...

select case emp_id 
            when 1 then 'John'
            when 2 then 'Mary'
            else cast(emp_id as char(4))
        end as emp_string 
  from emp_tb

Note that some database systems may require the CAST, but some don't, and will set the datatype of the CASE expression from the first defined expression inside the CASE.


This was first published in August 2004

Join the conversationComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.