在mysql中寻找一个类型转换功能

时间:2010-02-15 21:11:10

标签: mysql

我正在编写一个查询,返回记录是公共记录还是私有记录。如果记录是公共的,则该记录的user_id列为零。否则,它是一个正整数。我希望查询在user_id大于零时返回一个,如果为零则返回零。在PHP中,我可能只是将其转换为二进制文件。这在mysql中不起作用,但我希望还有其他类似的东西。我总是可以使用if语句,但可能会有一些更优雅的东西。

SELECT (binary)user_id as is_private FROM mytable WHERE 1

1 个答案:

答案 0 :(得分:0)

SELECT  user_id > 0 AS is_private
FROM    mytable

它会返回BOOLEAN数据类型,MySQL只是TINYINT(1)的同义词

请注意,当user_idNULL时它将无效(它还将返回NULL),但由于您的问题仅提及零和正整数,因此我发布此内容NULL检查。