MySQL检测字段是否为空

时间:2014-10-11 10:04:06

标签: mysql

我有一个由多列组成的大型数据库。我想选择一个小尺寸的列,并检查另一个非常大的列(以字节为单位)是空还是空。当然我可以只选择它们并让服务器端脚本语言决定第二列是否为空,但我真的不需要第二列的数据,我只想知道它是否为非null和非空。

现在,由于我不是MySQL忍者或任何东西,我不确定MySQL是否有可能只选择"非空虚"一列,如果这样可以在处理大型列时加快速度。我问这个是因为我可以想象MySQL在内部处理这些情况的方式非常不同,因为对于大的第二列,只需要大量的磁盘读取,内存复制,管道服务器端脚本解释器等。请求关于其空虚的布尔值。

所以

  1. 是否可以仅选择列的非空白和
  2. 当该列的大小很大时,它会加快查询速度吗?
  3. 我不想按它过滤,而只是想获取一个包含条目true / false的列,具体取决于每列的大列是否为非空。 < / p>

    非常感谢您提前阅读并回答此问题。如果之前已经回答过这个问题,但我没有找到答案,请在评论中通过链接告诉我,我会立即删除这个问题。

1 个答案:

答案 0 :(得分:2)

您可以在SQL中执行此操作:

SELECT small_column
FROM   my_table
WHERE  large_column IS NULL OR LENGTH(large_column) = 0

编辑:
要回答评论中的问题,您可以将表达式放在选择列表中:

SELECT small_column, 
       (large_column IS NULL OR LENGTH(large_column) = 0) AS
           is_large_column_empty
FROM   my_table