IOS应用中关于SQLite 3类型系统

移动开发 iOS
IOS应用中关于SQLite 3类型系统是本文要介绍的内容,主要是来了解并学习IOS应用中SQLite 的使用方法和技巧,具体内容来看本文详解。

IOS应用中关于SQLite 3类型系统是本文要介绍的内容,主要是来了解并学习IOS应用SQLite 的使用方法和技巧,关于SQLite IOS应用的操作本文有很详细的讲解,来看内容。

IOS应用的客户端存储数据一般是存储在SQLite3中,下面简单介绍SQLite支持的数据类型,以及类型间相互关系。大多数数据库使用静态的严格的类型系统,列的类型在创建表的时候就已经指定了。SQLite使用动态的类型系统,列的类型由值决定。

SQLite具有的数据类型

  1. NULL:NULLvalue 

Integer:值是signedinteger类型,大小可以是1,2,3,4,6,8bytes

REAL:浮点类型

TEXT:以UTF-8,UTF-16BEorUTF-16LE编码存储的字符类型

BLOB:二进制数据

其它数据类型说明

Integerprimarykey列是个例外??

布尔类型:SQLite中没有定义布尔类型,而是以Integer存储布尔值,0(false),1(true)

Dateandtime类型

SQLite中也没有定义日期时间类型,日期时间可以用TEXT,REAL,orINTEGER存储

TEXT:存储为字符串("YYYY-MM-DDHH:MM:SS.SSS").

  1. REAL:asJuliandaynumbers,thenumberofdayssincenooninGreenwichonNovember24,4714B.C.accordingtotheprolepticGregoriancalendar.  
  2.  
  3. INTEGER:asUnixTime,thenumberofsecondssince1970-01-0100:00:00UTC. 

SQLiteTypeAffinity(类型检测)

用于自动检测值的类型,以下列举Affinity如何决定类型的规则

(1)如果类型声明中有int,则使用INTEGERaffinity.

(2)如果类型声明中有"CHAR","CLOB",or"TEXT",则使用Textaffinity

(3)如果类型声明中有BLOB或没有指定类型,则使用affinityNONE

(4)如果类型声明中有"REAL","FLOA",or"DOUB",则使用REALaffinity

(5)否则使用Numericaffinity

类型比较NULL

memcmp函数原型

  1. intmemcmp(constvoid*ptr1,constvoid*ptr2,size_tnum); 

比较两个指针指向内存的前num个byte

比较之前的类型转换

l(INTEGER,REALorNUMERIC)和(TEXTorNONE)比较,则TEXT,NONE会被转换成NUMERIC

lTEXT和NONE比较,则NONE会被转换成TEXT

其他情况直接比较。

小结:IOS应用中关于SQLite 3类型系统的内容介绍完了,希望通过IOS应用SQLite 的操作内容的学习能对你有所帮助。

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-09-02 19:12:59

IOS应用Sqlite数据库

2012-03-06 10:17:45

iOS SQLite3iOSSQLite3

2011-08-22 16:26:25

IOS开发Sqlite数据库

2012-03-06 12:59:11

iOS SQLite3iOSSQLite3

2024-01-16 09:35:00

数据库应用

2011-05-11 10:02:37

iOS

2014-04-23 13:30:23

类簇iOS开发

2011-08-08 14:07:49

iPhone开发 字体

2019-08-12 11:40:48

数据库SQLite3数据类型

2013-01-06 09:52:43

SQLite

2013-04-09 16:04:06

iOS开发SQLite知识总结

2011-08-30 14:15:34

QTSQLite数据库

2013-05-02 13:06:05

C++遇到iOS应用开SQLITE

2011-08-17 14:32:44

iOS开发绘制

2013-04-01 10:49:51

iOS开发sqlite数据库

2011-09-06 13:58:28

MTK系统

2013-05-03 13:42:20

iOS开发SQLite3存储读取

2012-02-29 10:18:31

SQLite3Android

2011-08-22 16:42:43

SqliteiPad

2011-08-17 14:20:21

IOS开发GraphicsCon
点赞
收藏

51CTO技术栈公众号