澳门新葡亰平台游戏网站SQLite教程:表达式详解

一、常用表明式:

和大多数关系型数据库同样,SQLite能够很好的扶持SQL标准中提供的表明式,其函数也与SQL标确认保证持一致,如:复制代码 代码如下: || * / % + – & | = = = ==
!= IS IS NOT IN LIKE AND OR ~ NOT
在上头的表明式中,独一必要证实的是”||”,该表明式首要用于八个字符串之间的接连几天,其重返值为总是后的字符串,即使该操作符两侧的操作数为非字符串类型,在推行该表明式早前都必要被提前转移为字符串类型,之后再开展连接。

二、条件表达式:

该表明式的语法则则如下:复制代码
代码如下: 1卡塔尔(قطر‎. CASE x WHEN w1 THEN r1 WHEN w2 THEN r2 ELSE r3 END 2卡塔尔(قطر‎.
CASE WHEN x=w1 THEN r1 WHEN x=w2 THEN r2 ELSE r3 END
对此第一种情状,条件表明式x只需总计贰次,然后分别和WHEN关键字后的尺度逐个开展比较,直到找到相等的规范,其相比较法则等价于等号(=卡塔尔国表明式。假设找到相称的法则,则赶回其后THEN关键字所指向的值,若无找到别的相称,则赶回ELSE关键字之后的值,假使不真实ELSE分支,则赶回NULL。对于第二种情形,和第一种情状相比较,独一的差距正是表达式x或者被频仍实践,譬喻第二个WHEN条件不相称,则持续计算后边的WHEN条件,其余法则均与第一种完全雷同。最终索要表达的是,以上三种样式的CASE表明式均固守短路原则,即首先个表达式的规范一旦相配,其后全数的WHEN表达式均不会再被实施或比较。

三、转变表明式:

该表明式的语法则则如下:复制代码
代码如下: CAST(expr AS target_type)该表明式会将参数expr转换为target_type类型,具体的调换法则见如下列表:

对象项目 转变准绳描述 TEXT
要是转变INTEGER或REAL类型的值到TEXT类型直接转变就能够,就疑似C/C++接口函数sqlite3_snprintf所产生的办事。
REAL
假使转变TEXT类型的值到REAL类型,在该文件的最前部,将得以转移为实数的文书转变为对应的实数,别的部分忽视。在那之中该文本值的教导零亦将被整个马虎。若是该文本值未有其余字符能够转移为实数,CAST表明式的退换结果为0.0。
INTEGE昂Cora假诺转变TEXT类型的值到INTEGE翼虎类型,在该公文的最前部,将可以转变为整数的文本转变为对应的卡尺头,别的部分忽视。个中该文本值的辅导零亦将被全体大意。假若该文本值未有别的字符能够转换为整数,CAST表达式的调换结果为0。
假若调换将三个实数值调换为INTEGE哈弗类型,则一向截断实数小数部分。如若实数过大,则赶回最大的负整数:-9223372036854775808。
NUME宝马X3IC
假诺调换文本值到NUME福睿斯IC类型,则先将该值强迫转换为REAL类型,独有在将REAL调换为INTEGECR-V不会促成数据音讯丢失以至完全可逆的情况下,SQLite才会特别将其退换为INTEGEEvoque类型。

末尾索要证实的是,借使expr为NULL,则转移的结果也为NULL。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图