怎么说MYSQL中的空字符串与正则表达式

Ste*_*zis 5 regex mysql

我想知道我怎么能说MYSQL中的空字符串与正则表达式.

我的想法 :

SELECT * FROM `table` WHERE `column` <> '^$' 
Run Code Online (Sandbox Code Playgroud)

就正则表达而言,我完全是新手.在MySQL中根本不是专业人士.

Boh*_*ian 9

用途LENGTH():

SELECT * FROM table
WHERE LENGTH(column) > 0
Run Code Online (Sandbox Code Playgroud)

这(正确)返回一个或多个空格的行,并且不返回空值.


注意

WHERE column <> ''
Run Code Online (Sandbox Code Playgroud)

表现不同.<>忽略尾随空格,因此包含(仅)空格的列将被视为相同'',因此这些行将从选择中排除.如果这你想要的,那么你可以这样做:

SELECT * FROM table
WHERE column <> ''
Run Code Online (Sandbox Code Playgroud)

要么

SELECT * FROM table
WHERE LENGTH(TRIM(column)) > 0
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,包含的列NULL都会将WHERE表达式计算为NULL,这将从选择中排除列.(没有必要也做"AND列IS NOT NULL")