<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="robots" content="all">
<meta name="author" content="www.sqlite.com.cn | 林轩" />
<meta name="description" content="sqlite,sqlite3,SQLite,SQLite database,SQLite 开发,SQLite 数据库,SQLite 数据库引擎,SQLite 中文,SQLite 中文社区,SQLite 中文论坛,SQLite 编程,SQLite 语法,SQLite 下载,SQLite 资料,SQLite 嵌入式数据,林轩,数据库,嵌入式" />
<meta name="keywords" content="sqlite,sqlite3,SQLite,SQLite database,SQLite 开发,SQLite 数据库,SQLite 数据库引擎,SQLite 中文,SQLite 中文社区,SQLite 中文论坛,SQLite 编程,SQLite 语法,SQLite 下载,SQLite 资料,SQLite 嵌入式数据,林轩,数据库,嵌入式" />
<link href="../../POPstyle.css" rel="stylesheet" type="text/css">
<script language="javascript" src="../../POPinc/POPtitle.js"></script>
<title>SQLite语法 表达式 --SQLite 中文社区-- http://www.sqlite.com.cn/</title>
</head>
<body>
<span id="ContentBody" style="display:block;padding:10px 10px"><H1>SQLite的SQL语法</H1>
<a href="39.Html" rel='nofollow' onclick='return false;'>[目录] </a>
<H2>表达式</H2>
<TABLE cellPadding=10 id="table1">
<TBODY>
<TR>
<TD vAlign=top align=right><I><FONT color=#ff3434>expr</FONT></I> ::=</TD>
<TD><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> </FONT></B><I><FONT color=#ff3434>binary-op</FONT></I><B><FONT color=#2c2cf0> </FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> </FONT></B>[<B><FONT color=#2c2cf0>NOT</FONT></B>]<B><FONT color=#2c2cf0> </FONT></B><I><FONT color=#ff3434>like-op</FONT></I><B><FONT color=#2c2cf0> </FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> </FONT></B>[<B><FONT color=#2c2cf0>ESCAPE </FONT></B><I><FONT color=#ff3434>expr</FONT></I>]<B><FONT color=#2c2cf0> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>unary-op</FONT></I><B><FONT color=#2c2cf0> </FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR><BIG>(</BIG> </FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> <BIG>)</BIG> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>column-name</FONT></I><B><FONT color=#2c2cf0> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>table-name</FONT></I><B><FONT color=#2c2cf0> <BIG>.</BIG> </FONT></B><I><FONT color=#ff3434>column-name</FONT></I><B><FONT color=#2c2cf0> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>database-name</FONT></I><B><FONT color=#2c2cf0> <BIG>.</BIG> </FONT></B><I><FONT color=#ff3434>table-name</FONT></I><B><FONT color=#2c2cf0> <BIG>.</BIG> </FONT></B><I><FONT color=#ff3434>column-name</FONT></I><B><FONT color=#2c2cf0> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>literal-value</FONT></I><B><FONT color=#2c2cf0> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>parameter</FONT></I><B><FONT color=#2c2cf0> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>function-name</FONT></I><B><FONT color=#2c2cf0> <BIG>(</BIG> </FONT></B><I><FONT color=#ff3434>expr-list</FONT></I><B><FONT color=#2c2cf0> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0> <BIG>*</BIG> <BIG>)</BIG> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> ISNULL </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> NOTNULL </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> </FONT></B>[<B><FONT color=#2c2cf0>NOT</FONT></B>]<B><FONT color=#2c2cf0> BETWEEN </FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> AND </FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> </FONT></B>[<B><FONT color=#2c2cf0>NOT</FONT></B>]<B><FONT color=#2c2cf0> IN <BIG>(</BIG> </FONT></B><I><FONT color=#ff3434>value-list</FONT></I><B><FONT color=#2c2cf0> <BIG>)</BIG> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> </FONT></B>[<B><FONT color=#2c2cf0>NOT</FONT></B>]<B><FONT color=#2c2cf0> IN <BIG>(</BIG> </FONT></B><I><FONT color=#ff3434>select-statement</FONT></I><B><FONT color=#2c2cf0> <BIG>)</BIG> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> </FONT></B>[<B><FONT color=#2c2cf0>NOT</FONT></B>]<B><FONT color=#2c2cf0> IN </FONT></B>[<I><FONT color=#ff3434>database-name</FONT></I><B><FONT color=#2c2cf0> <BIG>.</BIG></FONT></B>]<B><FONT color=#2c2cf0> </FONT></B><I><FONT color=#ff3434>table-name</FONT></I><B><FONT color=#2c2cf0> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR></FONT></B>[<B><FONT color=#2c2cf0>EXISTS</FONT></B>]<B><FONT color=#2c2cf0> <BIG>(</BIG> </FONT></B><I><FONT color=#ff3434>select-statement</FONT></I><B><FONT color=#2c2cf0> <BIG>)</BIG> </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR>CASE </FONT></B>[<I><FONT color=#ff3434>expr</FONT></I>]<B><FONT color=#2c2cf0> </FONT></B>(<B><FONT color=#2c2cf0> WHEN </FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> THEN </FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> </FONT></B>)+<B><FONT color=#2c2cf0> </FONT></B>[<B><FONT color=#2c2cf0>ELSE </FONT></B><I><FONT color=#ff3434>expr</FONT></I>]<B><FONT color=#2c2cf0> END </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0><BR>CAST <BIG>(</BIG> </FONT></B><I><FONT color=#ff3434>expr</FONT></I><B><FONT color=#2c2cf0> AS </FONT></B><I><FONT color=#ff3434>type</FONT></I><B><FONT color=#2c2cf0> <BIG>)</BIG></FONT></B></TD></TR>
<TR>
<TD vAlign=top align=right><I><FONT color=#ff3434>like-op</FONT></I> ::=</TD>
<TD><B><FONT color=#2c2cf0>LIKE </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0> GLOB </FONT></B><BIG>|</BIG><B><FONT color=#2c2cf0> REGEXP</FONT></B></TD></TR></TBODY></TABLE>
<P>这一节与其它的各节有所不同。我们讨论的不是一个单一的SQL命令,而是作为其他大部分命令的一部分的表达式。</P>
<P>SQLite支持如下的二元运算符,按优先级由高至低排列:</P>
<BLOCKQUOTE><PRE><FONT color=#2c2cf0><BIG>||
* / %
+ -
<< >> & |
< <= > >=
= == != <> </BIG>IN
AND
OR</FONT>
</PRE></BLOCKQUOTE>
<P>所支持的一元运算符:</P>
<BLOCKQUOTE><PRE><FONT color=#2c2cf0><BIG>- + ! ~</BIG></FONT>
</PRE></BLOCKQUOTE>
<P>注意等号和“不等”号的两个变种。等号可以是 <FONT color=#2c2cf0><BIG>=</BIG></FONT>或<FONT color=#2c2cf0><BIG>==</BIG></FONT>. “不等”号可以是<FONT color=#2c2cf0><BIG>!=</BIG></FONT>或<FONT color=#2c2cf0><BIG><></BIG></FONT>. <FONT color=#2c2cf0><BIG>||</BIG></FONT>为“连接符”——它将两个字符串连接起来。 <FONT color=#2c2cf0><BIG>%</BIG></FONT>输出左边部分以右边部分为模取模得到的余数。</P>
<P>二元运算符的结果均为数字,除了<FONT color=#2c2cf0><BIG>||</BIG></FONT>连接符,它给出字符串结果。</P><a name=literal_value rel='nofollow' onclick='return false;'></A>
<P>文本值(literal value)是一个整数或浮点数。可以使用科学计数法。"."符号总是被当作小数点即使本地设定中用","来表示小数点 ——用","表示小数点会造成歧义。字符串常量由字符串加单引号(')构成。字符串内部的单引号可像Pascal 中一样用两个单引号来表示。C风格的加反斜线的表示法由于不是标准SQL而不被支持。 BLOB文本是以"x"或"X"开头的含有十六进制文本信息的文本值 For example:</P>
<BLOCKQUOTE><PRE>X'53514697465'
</PRE></BLOCKQUOTE>
<P>文本值同样可以为"NULL". </P>
<P>表达式中插入文本值占位符的参数可以使用 <a href="http://localhost/Htmleditor.asp#" rel='nofollow' onclick='return false;'><FONT color=#ff3434>sqlite3_bind</FONT></A> API函数在运行时插入。参数可以是如下几种形式: </P>
<BLOCKQUOTE>
<TABLE id="t