(抱歉,我知道这是一个老栗子;我在这里找到了类似的答案,但不是一个确切的答案)
我经常从控制台输入这种查询,所以我一直在寻找更容易输入解决方案
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,你有更快的输入甚至/特别是吗?
答案 0 :(得分:0)
更短,但会匹配任何非空格,而不仅仅是字母数字。
SELECT * FROM tbl_loyalty_card WHERE TRIM(CUSTOMER_ID) != '';
答案 1 :(得分:0)
这已经很短了;我的意思是你希望获得最多15%的东西(70个中的10个字符)。
如果这是你所追求的速度和便利,那么我预感到这些选项中的一个可能对你更好:
答案 2 :(得分:0)
LENGTH和TRIM的组合应该更好:
SELECT *
来自tbl_loyalty_card
WHERE LENGTH(TRIM(CUSTOMER_ID))> 0;