如何在MYSQL查询中使用if
语句返回yes
如果为真,如果不是则返回no
?比较mysql查询中的字段
见例如:
IF(table_name.field_name_value = 1, 'yes','no') AS active
我想是这样的,但没有成功
如何在MYSQL查询中使用if
语句返回yes
如果为真,如果不是则返回no
?比较mysql查询中的字段
见例如:
IF(table_name.field_name_value = 1, 'yes','no') AS active
我想是这样的,但没有成功
从documentation on IF()
function:
mysql> SELECT IF(1<2,'yes','no');
-> 'yes'
所以,基本上,语法是如上所述。
编辑:
你是在说我的例子是不正确。因此,我为您提供一个证明(证明我上面提到的文档中的示例):
我有一个表,其中包含uid
列,其中包含用户的ID。该表是某个站点上数据库的一部分(与此无关)。当我提出以下查询:
SELECT `uid`, IF(`uid`=3, 'yes', 'no') AS `active` FROM `mysite_users`;
我收到以下结果:
+-----+--------+
| uid | active |
+-----+--------+
| 0 | no |
| 1 | no |
| 3 | yes |
| 8 | no |
| 9 | no |
| 10 | no |
| 11 | no |
| 12 | no |
| 13 | no |
| 14 | no |
| 15 | no |
+-----+--------+
11 rows in set (0,00 sec)
这是我希望什么(什么应该阅读文档后预期)。它还不适合你吗?
可以使用case
功能:
select case
when table_name.field_name_value = 1 then 'yes'
else 'no'
end case as active
from table_name
虽然if
功能也应工作。你能发布完整的查询吗?
你可以在mysql查询中使用CASE。 像
CASE WHEN table_name.field_name_valud = 1 THEN 'Yes' ELSE 'No' END As active
见http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html
SELECT CASE WHEN table_name.field_name_value = 1 THEN 'yes'
ELSE 'no' END;
你所说的 “_with没有success_” 意思?你想说“_这不是working_”? – Tadeck
请告诉我们它是如何工作的,以及预期的结果是什么,如果你想让你的问题得到解决,请。 – Tadeck
@Tadeck,当我打印活动时它不显示任何东西 – revo