2010-04-20 46 views
0

(对不起,我知道这是一个老掉牙的,我已经在这里发现了类似的答案,但没有一个确切的答案)含有至少一种非空格字母数字字符选择字段

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

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

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

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

这已经很短了;我的意思是说你最多只能获得15%的收益(70个中有10个)。

如果你是那么之后的速度和便利我有一种预感,这些选项也许有可能是你最好:

  • 脚本它(存储过程,shell脚本)
  • 使用键盘宏
  • 开始构建应用程序到您的工作自动化
+0

好主意,我会添加另一个键盘宏 – zzapper 2010-04-20 16:04:09

+1

谢谢。随意将答案标记为有用(对于已接受的答案)。 http://stackoverflow.com/faq – Unreason 2010-04-20 17:30:42

0

长度和TRIM的组合应该更好地工作:

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

相关问题