如何在mysql中检查字符串是否有值

1mrurvl1  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(327)

我正在mysql工作台中运行一个mysql查询。查询简化为:

SELECT name1, name2, alg1, alg2 
FROM table1, table2
WHERE CONCAT('www.',name1) = name2
AND ((alg1 != NULL) AND (alg2 != NULL));

我得到0个结果。尽管我确信有一些记录符合满足所有条件的标准。
当我删除第二个条件时,我的查询变成:

SELECT name1, name2, alg1, alg2 
FROM table1, table2
WHERE CONCAT('www.',name1) = name2;

我有很多唱片 alg1 以及 alg2 包含字符串而不是 NULL . alga1 以及 alg2 是类型的字段 VARCHAR(500) . 它们包含可以包含空格的字符串,也可以不包含任何内容。请注意,我没有输入字符串 null 也不是 NULL 手动。只是一个空字段,据我所知将包含 NULL 在价值中 NULL 或者 null .
我怎样才能提出一个条件 alg1 以及 alg2 字段中应该有值并且不是空字段?

juud5qan

juud5qan1#

不能将值与 NULL . 相反,你应该使用 IS NOT NULL :

SELECT name1, name2, alg1, alg2 
FROM table1, table2
WHERE CONCAT('www.',name1) = name2
AND ((alg1 IS NOT NULL) AND (alg2 IS NOT NULL));

您可以在mysql文档中找到更详细的信息。

相关问题