选择包含至少一个非空格字母数字字符的字段

时间:2010-04-20 11:57:50

标签: sql null

(抱歉,我知道这是一个老栗子;我在这里找到了类似的答案,但不是一个确切的答案)

我经常从控制台输入这种查询,所以我一直在寻找更容易输入解决方案

SELECT * 
FROM  tbl_loyalty_card  
WHERE CUSTOMER_ID REGEXP "[0-9A-Z]"; -- exact but tedious to type

SELECT * 
FROM  tbl_loyalty_card  
WHERE  LENGTH(CUSTOMER_ID) >0; -- could match spaces

如果是QAD,你有更快的输入甚至/特别是吗?

3 个答案:

答案 0 :(得分:0)

更短,但会匹配任何非空格,而不仅仅是字母数字。

SELECT * FROM  tbl_loyalty_card  WHERE TRIM(CUSTOMER_ID) != '';

答案 1 :(得分:0)

这已经很短了;我的意思是你希望获得最多15%的东西(70个中的10个字符)。

如果这是你所追求的速度和便利,那么我预感到这些选项中的一个可能对你更好:

  • 脚本(存储过程,shell脚本)
  • 使用键盘宏
  • 开始构建应用程序以自动执行任务

答案 2 :(得分:0)

LENGTH和TRIM的组合应该更好:

SELECT *
来自tbl_loyalty_card
WHERE LENGTH(TRIM(CUSTOMER_ID))> 0;