我想從一個非空的字段中選擇表中的所有行。我的sql查詢是選擇所有與一個字段非空的項目
SELECT * FROM coupon_category WHERE customer=4 AND like_at <>;
但它最終顯示語法錯誤。什麼是正確的查詢? like_at是DateTime類型
我想從一個非空的字段中選擇表中的所有行。我的sql查詢是選擇所有與一個字段非空的項目
SELECT * FROM coupon_category WHERE customer=4 AND like_at <>;
但它最終顯示語法錯誤。什麼是正確的查詢? like_at是DateTime類型
假設like_at
是一個字符串,一個簡單的方法是:
WHERE customer = 4 AND like_at <> ''
當然,這取決於你的意思是通過非空的東西。
這通常指NULL
,因此對於任何類型的將是:
WHERE customer = 4 AND like_at IS NOT NULL
注意:第一個版本還濾除NULL
值以及空字符串(假定like_at
的類型是一個字符串) 。
查詢解釋器預計在符號後出現一個值。 如果你想選擇一個字段不爲空的所有行,你應該做的:
SELECT * FROM coupon_category WHERE customer=4 AND like_at <> '';
也許你也可以檢查空值。
如果要排除的空格,並有可能空,嘗試:
SELECT * FROM coupon_category WHERE customer=4 AND ifnull(like_at,'') <> '';
這取決於發生了什麼,當like_at是空的,wthen的「細胞」,是空的它給你空?
如果單元格是空的u可以使用
SELECT * FROM coupon_category WHERE customer=4 AND len(like_at)>0
如果它給你空,則:
SELECT * FROM coupon_category WHERE customer=4 AND like_at is not null
是日期時間類型 – raju
@raju。 。 。然後「空」大概意思是「NULL」,第二種形式是使用什麼。 –