SQLite的教程(六):详细的表达的表达

1。常用的表达:

像大多数关系数据库,SQLite可以很好的支持在SQL标准提供的表达方式,其功能与SQL标准一致,如:

复制代码代码如下所示:

| |

* %

+—

> |

>

= =!< >不等于





~不



在上面的表达式中,唯一需要的是| |

两。条件表达式:

这个表达式的语法规则如下:

复制代码代码如下所示:

1)。例X当W1 W2然后然后R1 R2 R3时,其他

2)。当x = W1然后R1当x = W2然后R2 R3端别的



对于第一种情况,条件表达式x需要计算一次,然后将条件与一次一个关键字进行比较,直到找到相等条件为止。比较规则等价于等号(=)表达式。如果找到匹配条件,则返回后跟关键字的值。如果找不到匹配项,则返回其他关键字之后的值。如果没有其他分支,它返回null。对于第二种情况,与第一种情况相比,惟一的区别是表达式x可以多次执行。例如,如果第一个条件不匹配,则当条件继续时剩下的条件。规则的其余部分与第一个规则相同,最后需要解释的是,上述两种情况表达式都服从短路原理,即一旦第一表达式的条件匹配,所有后续表达式将不再执行或比较。

三。转换表达:

这个表达式的语法规则如下:

复制代码代码如下所示:

铸造(expr为target_type)



该表达式将参数表达式的target_type类型,以及具体的转换规则如下:






目标类型
转换规则的描述


文本
如果对整数或实数类型,文本类型直接转换值的转换,它是由C / C++接口函数sqlite3_snprintf所做的工作。


真正的
如果文本类型的值转换为实型,在正文的前面部分,文本可以转换为实数转换为相应的房号,和其他的被忽略。对文本的价值前言部分将被完全忽略。如果没有性格的文字可以转换为实数,演员的表达转换的结果是0。


整数
如果文本类型的值转换为整数类型,在文本的前面部分,文本可以转换为整型数转换为相应的整数,和其他的被忽略。对文本的价值前言部分将被完全忽略。如果没有字符的文本可以转换为一个整数,演员的表达变换的结果是0。

如果转换将实数值转换为整数类型,则实数小数部分被截断。如果实数太大,则返回最大负整数:- 922337203685477580。


数字
如果文本值转换为数值类型,则该值首先转换为实数类型。只有当真正转换为整数,也不会造成数据信息丢失和完全可逆,那么SQLite将进一步转化为整数型。





解释的最后一件事是,如果表达式为空,转换的结果是空的。