我可以根据表中的值返回一个字符串吗?

时间:2012-02-08 10:23:02

标签: sql sql-server-2000

考虑以下问题:

SELECT operation, [...] FROM tableName

operation字段将检索1到4之间的整数。我想要做的是根据operation的整数值为SQL查询中的变量分配字符串值。

如果由我决定,我会有一个对应的表,其中包含每个操作的名称,在这种情况下,JOIN将获取操作字符串。不幸的是,我不控制数据库。

我不知道这是否是SQL可以做的事情,我当然可以使用PHP迭代返回的数据来执行此任务,但是如果可能的话,在一次点击中完成所有操作是有意义的。

2 个答案:

答案 0 :(得分:10)

尝试这样的事情:

SELECT 
  CASE 
     operation
  WHEN 1 THEN 'OP1'
  WHEN 2 THEN 'OP2'
  WHEN 3 THEN 'OP3'
  WHEN 4 THEN 'OP4'
  ELSE
     'Unknown OP'
  END OperationName
  , 
[...] FROM tableName

答案 1 :(得分:4)

select
  case when operation = 1 then
    '1st operation'
  case when operation = 2 then
    '2nd operation'
  else
    'Unknown operation'
  end operation_name
from tableName