我正在编写一个查询,返回记录是公共记录还是私有记录。如果记录是公共的,则该记录的user_id列为零。否则,它是一个正整数。我希望查询在user_id大于零时返回一个,如果为零则返回零。在PHP中,我可能只是将其转换为二进制文件。这在mysql中不起作用,但我希望还有其他类似的东西。我总是可以使用if语句,但可能会有一些更优雅的东西。
SELECT (binary)user_id as is_private FROM mytable WHERE 1
答案 0 :(得分:0)
SELECT user_id > 0 AS is_private
FROM mytable
它会返回BOOLEAN
数据类型,MySQL
只是TINYINT(1)
的同义词
请注意,当user_id
为NULL
时它将无效(它还将返回NULL
),但由于您的问题仅提及零和正整数,因此我发布此内容NULL
检查。