当列中的值等于某个值时,动态更改列中的值

时间:2009-08-06 01:48:17

标签: mysql

我有一列打印出N / A的值。而不是N / A,我想打印三个破折号。需要注意的一点是,列中的某些值不是N / A所以我需要打印它们。基本上我想用N / A代替“---”。有人可以告诉我如何做到这一点吗?

由于

4 个答案:

答案 0 :(得分:1)

SELECT IF(STRCMP(my_column,'N/A'),my_column,'---')
 FROM my_table

答案 1 :(得分:1)

您可以尝试以下方法。可以在这里找到mysql的case语句文档。

http://dev.mysql.com/doc/refman/5.0/en/case-statement.html

case
  when field = 'N/A' then '---'
  else field
end

答案 2 :(得分:1)

这个怎么样?

SELECT field1, field2, IF(field3='N/A','---',field3) AS field3 FROM table

或者我误解了你的问题?

答案 3 :(得分:0)

这是ChssPly76答案的修订版本:

SELECT IF(field_name = 'N/A', '---', field_name) AS field_name
FROM table

这应该可以解决所有字段打印出来的问题---并且您的结果中也会有一个正确命名的列。