我有一个表有一列值可以是rowTypeID =(1,2,3或null).我想编写一个查询,返回任何没有值为3的行.在这个例子中,我想要所有NULL行以及所有1,2行,我只是不想要值为3的行
当前为数据库设置了ANSI null ON.
我很好奇为什么我不能写
select * from myTable where myCol <> 3
Run Code Online (Sandbox Code Playgroud)
此查询不会返回myCol列中具有NULL的任何行
我得写
select * from my Table where myCol <> 3 or myCol Is NULL
Run Code Online (Sandbox Code Playgroud)
我是否总是必须包含IS NULL或者我可以设置它以使where子句myCol <> 3将返回具有Null作为我的Col的值的行
我正在制作一个Angular App,我开始使用一些Kendo UI控件.我在连接AutoComplete控件时遇到了一些问题.我想使用一个工厂,它将从我的数据库中返回"自动完成"值列表.
我已经包含了自动完成控件,我正在尝试使用k-options属性:
<input kendo-auto-complete ng-model="myFruit" k-options="FruitAutoComplete" />
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,下面的硬编码水果列表工作:
$scope.FruitAutoComplete = {
dataTextField: 'Name',
dataSource:[
{ id: 1, Name: "Apples" },
{ id: 2, Name: "Oranges" }
]
}
Run Code Online (Sandbox Code Playgroud)
当我把它移到我的工厂时,我看到它调用并从工厂返回数据,但它从未绑定到屏幕上.
$scope.FruitAutoComplete = {
dataTextField: 'Name',
dataSource: new kendo.data.DataSource({
transport: {
read: function () {
return FruitFactory.getYummyFruit($scope.myFruit);
}
}
})
}
Run Code Online (Sandbox Code Playgroud)
我最终得到了永远不会满足自动完成的请求.
我的工厂正在回收一系列水果[我的水果工厂代码:
getYummyFruit: function (val) {
return $http.get('api/getFruitList/' + val)
.then(function (res) {
var fruits= [];
angular.forEach(res.data, function (item) {
fruits.push(item);
});
return fruits;
});
}
Run Code Online (Sandbox Code Playgroud)