sql不获取空列

mwkjh3gx  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(238)

我有一张这样的table

students
----------
ID  | Name  | Class  | Pass
01  | Lisa  | 01     | 1D345
02  | Mike  | 03     | 22341
03  | Kim   | 03     | 
04  | Lance | 04     | 193CC

所以我想选择那些pass不是空的,我已经尝试过了
从pass不为空的学生中选择*;
那张table本该给我拿这个的

students
----------
ID  | Name  | Class  | Pass
01  | Lisa  | 01     | 1D345
02  | Mike  | 03     | 22341
04  | Lance | 04     | 193CC

我也试过了
从pass不是“”的学生中选择*;
以及
从学生中选择*通过!='';
两者都返回#1064错误,那么我应该使用什么语句来获取所需的表呢?

fsi0uk1n

fsi0uk1n1#

想必, pass 值不是 NULL . 这可能有用:

WHERE Pass <> ''

这相当于您的上一个选项,它应该适用于大多数数据库(大多数数据库都支持这两个选项) <> 以及 != 不平等)。
或者你可能需要处理空间。
在mysql中,可以使用正则表达式来确保至少有一个字母数字字符:

where pass regexp '[a-zA-Z0-9]'

相关问题