我试图从一个非空字段的表中选择所有行。我的SQL查询是
SELECT * FROM coupon_category WHERE customer=4 AND like_at <>;
但它最终显示语法错误。什么是正确的查询? like_at是日期时间类型
答案 0 :(得分:3)
假设like_at
是一个字符串,一个简单的方法是:
WHERE customer = 4 AND like_at <> ''
当然,这取决于非空的意思。
这通常会引用NULL
,因此对于任何类型都是:
WHERE customer = 4 AND like_at IS NOT NULL
注意:第一个版本还会过滤掉NULL
值以及空字符串(假设like_at
的类型是字符串)。
答案 1 :(得分:2)
如果要排除空格并可能为空,请尝试:
SELECT * FROM coupon_category WHERE customer=4 AND like_at <> '';
答案 2 :(得分:0)
查询解释器期望&lt;&gt;之后的值迹象。 如果要选择字段不为空的所有行,则应执行以下操作:
public class UploadView extends ViewWithUiHandlers<UploadUiHandlers> implements UploadPresenter.MyView,IndicatorStartEvent.IndicatorHandler {
@UiField
FileUploadWidget uploadWidget;
@Inject
public UploadView(final Binder binder) {
widget = binder.createAndBindUi(this);
uploadWidget.addHandler(new IndicatorStartEvent.Handler(),this);
}
public void onIndicatorProgressStart(IndicatorStartEvent event) {
MaterialToast.fireToast("Indicator start: " + event.getMessage());
}
}
也许您也可以检查空值。
答案 3 :(得分:0)
这取决于当like_at为空时发生的事情,重要的是&#34; cell&#34;是空的,它给你null?
如果单元格为空,则可以使用
SELECT * FROM coupon_category WHERE customer=4 AND len(like_at)>0
如果它给你null,那么:
SELECT * FROM coupon_category WHERE customer=4 AND like_at is not null