sql的where条件判断值是否为null,可以直接与NULL进行比较。
例:
1
2
select from a where e=null;--检索表a中列e为NULL的数据
select from a where e<>null;--检索表a中列e不为NULL的数据
检索环境和数据库管理系统的差异,部分环境不支持NULL值的直接比较,需要使用is null和is not nulll来判断空值NULL,上例脚本修改为:
select a,e from a where e is null;
select a,e from a where e is not null;
另外有些数据库,NULL值检索结果和空字符“”是一样的,为了区别,可以使用函数来更改NULL的显示。
例:MS SQL server中的isnull函数:
一、ISNULL语法格式ISNULL ( check_expression , replacement_value )
二、参数简介check_expression:将被检查是否为 NULL的表达式,check_expression可以是任何类型的。
replacement_value:在 check_expression 为 NULL时将返回的表达式,replacement_value 必须与 check_expresssion 具有相同的类型。
三、返回值返回与 check_expression 相同的类型。如果 che
ISNULL(A,'')函数的作用是,判断A是否是NULL值,如果是则转化成空字符串,如果不是,不处理。
if ISNULL(A,'')<>''实质上是指A字段的值不能等于NULL,也不能等于''。
SQLiteDatabase db = dataBaseHelpergetWritableDatabase();
Cursor cursor = dbrawQuery("select from User",null);
1光标的行数:int getCount()
2当前光标的位置:int getPosition()
返回的值从零开始, 当第一次返回行集时游标将位于位置 -1,即第一行之前。在返回最后一行之后,对 next() 的另一个调用将使光标离开最后一个条目,位于 count() 的位置。
3从当前位置应用的偏移量:boolean move(int offset)
将光标从当前位置向前或向后移动一个相对量。 正偏移向前移动,负偏移向后移动。 如果最终位置在结果集的边界之外,则结果位置将分别固定为 -1 或 count(),具体取决于该值是在集合的前端还是末尾。如果请求的目的地可达,此方法将返回 true,否则返回 false。
4将光标移动到绝对位置:boolean moveToPosition(int position)
值的有效范围是 -1 <= 位置 <= 计数。如果请求目的地可达,此方法将返回 true,否则返回 false。
5将光标移动到第一行:boolean moveToFirst()
6将光标移动到最后一行:boolean moveToLast()
7将光标移动到下一行:boolean moveToNext()
8将光标移动到上一行:boolean moveToPrevious()
9返回光标是否指向第一行:boolean isFirst()
10返回光标是否指向最后一行:boolean isLast()
11返回光标是否指向第一行之前的位置:boolean isBeforeFirst()
12返回光标是否指向最后一行之后的位置:boolean isAfterLast()
13给定列名的从零开始的列索引,如果列名不存在,则返回 -1:int getColumnIndex(String columnName)
14给定列名的从零开始的索引,如果该列不存在则抛出非法参数异常:int getColumnIndexOrThrow(String columnName) throws IllegalArgumentException
15给定的从零开始的列索引处的列名:String getColumnName(int columnIndex)
16返回一个字符串数组,其中按列在结果中的顺序保存结果集中所有列的名称。:String[] getColumnNames()
17返回总列数:int getColumnCount()
18各类型返回值
(1)以字节数组的形式返回请求列的值:byte[] getBlob(int columnIndex)
(2)以字符串形式返回请求列的值:String getString(int columnIndex)
(3)以整数形式返回请求列的值:int getInt(int columnIndex)
(4)以 long 形式返回请求列的值:long getLong(int columnIndex)
(5)以浮点数形式返回请求列的值:float getFloat(int columnIndex)
(6)以双精度形式返回请求列的值:double getDouble(int columnIndex)
(7)返回给定列值的数据类型:int getType(int columnIndex)
(8)列值是否为空:boolean isNull(int columnIndex)
(9)以短形式返回请求列的值:short getShort(int columnIndex)
19检索请求的列文本并将其存储在提供的缓冲区中:void copyStringToBuffer(int columnIndex, CharArrayBuffer buffer)
20关闭游标:void close()
21游标是否关闭:boolean isClosed()
22注册一个观察者,当支持此游标的内容发生变化时调用该观察者:void registerContentObserver(ContentObserver observer)
23销毁注册的观察者:void unregisterContentObserver(ContentObserver observer)
24注册一个观察者,当数据集的内容发生变化时被调用:void registerDataSetObserver(DataSetObserver observer)
25销毁注册的观察者:void unregisterDataSetObserver(DataSetObserver observer)
26注册以查看内容 URI 的更改。这可以是特定数据行的 URI,也可以是内容类型的通用URI:void setNotificationUri(ContentResolver cr, Uri uri)
cr是上下文,uri是需要观看的内容
27是否所有光标移动都应导致调用 onMove():boolean getWantsAllOnMoveCalls()
只有在此方法返回 true 时,才会跨进程调用 onMove()
28返回一组额外的值:Bundle getExtras()
29光标用户与光标通信的带外方式:Bundle respond(Bundle extras)
30设置 Bundle 返回的getExtras():void setExtras(Bundle extras)
”isnull(a,' ')=' '“意思是显示结果为NULL的那行数据,查询结果不是NULL,而是0。
SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
以上就是关于Sybase的where条件中 = null和 is null有什么区别全部的内容,包括:Sybase的where条件中 = null和 is null有什么区别、数据库SQL,谁能解释一下if ISNULL(A,'')<>''这个条件是什么意思 是说A不等于空吗、Android Cursor(光标)解析等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)