sqlite 的相比较等运算是遵照不同的值而各异的,并不是基于的字段类型,因为 sqlite 是弱类型字段

sqlite 的相比等运算是按照不同的值而各异的,并不是基于的字段类型,因为
sqlite 是弱类型字段

 


http://www.sqlite.com.cn/MySqlite/5/127.Html

 

在SQLite3.0版中,值被定义为啥类型只和值我有关,和列没有提到,和变量也一直不关系.
(这有时被称作
弱类型.)所有其他的我们所利用的数据库引擎都受静态类型系统的限定,其中的所有值的类是由其所属列的属性决定的,而和值无关.

 

为了最大限度的扩大SQLite数据库和其他数据库的兼容性,SQLite襄助列的”类型亲和性”.
列的亲和性是为该列所蕴藏的数量指出一个类型.大家要小心是提议而不是强迫.在答辩上来讲,任何列仍旧是能够储存任何类型的数额的.
只是针对少数列,假诺给提议项目标话,数据库将按所指出的项目存储.这一个被优先选取的数据类型则被称之为”亲和连串”. 

 


When grouping values with the 当用GROUP
BY子句给值分组时,具有不同存储类型的值被认为是见仁见智的, 但也有两样,
比如,一个整数值和一个实数值从数字角度来说是相等的,那么它们则是非常的.用GROUP
by 子句相比较完后,值不拥有其他亲和性.

 


要特别注意的是 sqlite 文档讲解到的

 

sqlite,“

BLOB文本是以“x”或“X”开首的蕴藏十六进制文本音讯的文本值。例如:

 

    X’53514697465′

 

BLOB literals are string literals containing hexadecimal data and
preceded by a single “x” or “X” character. For example:

 

    X’53514C697465′

 

 

此间写入的是二进制内容, 那样写入的字符串是不可能用 “=” 采取出来的,例如

 

insert into appzfdata(id) values(x’3131′)

insert into appzfdata(id) values(’11’)

 

设若用语句采用

 

select * from appzfdata where id = ’11’
是选项不出来第一条的(不论创制表时 id
用什么项目标字段).可是您用管理工具软件去看去发现两条记下的 id 值都是
“11”
假若不明就里,你早晚会要命抓狂.我认为这是个相当惨重的题目,我怎么明白里面存的是什么品种的数量? 

 

用 like 代替 “=” 号则可以取出来.

 

/*
select length(id),x’31’  t,* from appzfdata  –where id like “1”

–and t = x’31’

where id = x’313100′ or id = ’11’

 

–select (‘aaa’ ||id) ||’aaa’, * from appzfprice where [appname]
like’i1′

 

select length ( appname ), * from appzfprice where [appname] like
‘i1’

 

*/

select * from t2 where id = ‘1’

 

 

 

 

网站地图xml地图