⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lang_expr.html

📁 嵌入式数据库sqlite 3.5.9的文档
💻 HTML
📖 第 1 页 / 共 2 页
字号:
Parameters can take several forms:</p<blockquote><table><tr><td align="right" valign="top"><b>?</b><i>NNN</i></td><td width="20"></td><td>A question mark followed by a number <i>NNN</i> holds a spot for theNNN-th parameter.  NNN must be between 1 and <a href="limits.html#max_variable_number">SQLITE_MAX_VARIABLE_NUMBER</a>.</td></tr><tr><td align="right" valign="top"><b>?</b></td><td width="20"></td><td>A question mark that is not followed by a number holds a spot forthe next unused parameter.</td></tr><tr><td align="right" valign="top"><b>:</b><i>AAAA</i></td><td width="20"></td><td>A colon followed by an identifier name holds a spot for a namedparameter with the name AAAA.  Named parameters are also numbered.The number assigned is the next unused number.  To avoid confusion,it is best to avoid mixing named and numbered parameters.</td></tr><tr><td align="right" valign="top"><b>@</b><i>AAAA</i></td><td width="20"></td><td>An "at" sign works exactly like a colon.</td></tr><tr><td align="right" valign="top"><b>$</b><i>AAAA</i></td><td width="20"></td><td>A dollar-sign followed by an identifier name also holds a spot for a namedparameter with the name AAAA.  The identifier name in this case can includeone or more occurances of "::" and a suffix enclosed in "(...)" containingany text at all.  This syntax is the form of a variable name in the Tclprogramming language.</td></tr></table></blockquote><p>Parameters that are not assigned values using<a href="c3ref/bind_blob.html">sqlite3_bind()</a> are treatedas NULL.</p><a name="like"></a><p>The LIKE operator does a pattern matching comparison. The operandto the right contains the pattern, the left hand operand contains thestring to match against the pattern. A percent symbol <font color="#2c2cf0"><big>%</big></font> in the pattern matches anysequence of zero or more characters in the string.  An underscore<font color="#2c2cf0"><big>_</big></font> in the pattern matches any single character in thestring.  Any other character matches itself or it's lower/upper caseequivalent (i.e. case-insensitive matching).  (A bug: SQLite onlyunderstands upper/lower case for 7-bit Latin characters.  Hence theLIKE operator is case sensitive for 8-bit iso8859 characters or UTF-8characters.  For example, the expression <b>'a'&nbsp;LIKE&nbsp;'A'</b>is TRUE but <b>'&aelig;'&nbsp;LIKE&nbsp;'&AElig;'</b> is FALSE.).</p><p>If the optional ESCAPE clause is present, then the expressionfollowing the ESCAPE keyword must evaluate to a string consisting ofa single character. This character may be used in the LIKE patternto include literal percent or underscore characters. The escapecharacter followed by a percent symbol, underscore or itself matches aliteral percent symbol, underscore or escape character in the string,respectively. The infix LIKE operator is implemented by calling theuser function <a href="#likeFunc"> like(<i>X</i>,<i>Y</i>)</a>.</p>The LIKE operator is not case sensitive and will match upper casecharacters on one side against lower case characters on the other.  (A bug: SQLite only understands upper/lower case for 7-bit Latincharacters.  Hence the LIKE operator is case sensitive for 8-bitiso8859 characters or UTF-8 characters.  For example, the expression<b>'a'&nbsp;LIKE&nbsp;'A'</b> is TRUE but<b>'&aelig;'&nbsp;LIKE&nbsp;'&AElig;'</b> is FALSE.).</p><p>The infix LIKEoperator is implemented by calling the user function <a href="#likeFunc">like(<i>X</i>,<i>Y</i>)</a>.  If an ESCAPE clause is present, it addsa third parameter to the function call. If the functionality of LIKE can beoverridden by defining an alternative implementation of thelike() SQL function.</p></p><a name="glob"></a><p>The GLOB operator is similar to LIKE but uses the Unixfile globbing syntax for its wildcards.  Also, GLOB is casesensitive, unlike LIKE.  Both GLOB and LIKE may be preceded bythe NOT keyword to invert the sense of the test.  The infix GLOB operator is implemented by calling the function<a href="lang_expr.html#glob">glob(<i>X</i>,<i>Y</i>)</a> and can be modified by overridingthat function.</p><a name="regexp"></a><p>The REGEXP operator is a special syntax for the regexp()user function.  No regexp() user function is defined by defaultand so use of the REGEXP operator will normally result in anerror message.  If a user-defined function named "regexp"is added at run-time, that function will be called in orderto implement the REGEXP operator.</p><a name="match"></a><p>The MATCH operator is a special syntax for the match()user function.  The default match() function implementationraises and exception and is not really useful for anything.But extensions can override the match() function with morehelpful logic.</p><p>A column name can be any of the names defined in the <a href="lang_createtable.html">CREATE TABLE</a>statement or one of the following special identifiers: "<b>ROWID</b>","<b>OID</b>", or "<b>_ROWID_</b>".These special identifiers all describe theunique integer key (the "row key") associated with every row of every table.The special identifiers only refer to the row key if the <a href="lang_createtable.html">CREATE TABLE</a>statement does not define a real column with the same name.  Row keysact like read-only columns.  A row key can be used anywhere a regularcolumn can be used, except that you cannot change the valueof a row key in an <a href="lang_update.html">UPDATE</a> or <a href="lang_insert.html">INSERT</a> statement."SELECT * ..." does not return the row key.</p><p><a href="lang_select.html">SELECT</a> statements can appear in expressions as either theright-hand operand of the IN operator, as a scalar quantity, oras the operand of an EXISTS operator.As a scalar quantity or the operand of an IN operator,the SELECT should have only a single column in itsresult.  Compound SELECTs (connected with keywords like UNION orEXCEPT) are allowed.With the EXISTS operator, the columns in the result set of the <a href="lang_select.html">SELECT</a> areignored and the expression returns TRUE if one or more rows existand FALSE if the result set is empty.If no terms in the <a href="lang_select.html">SELECT</a> expression refer to value in the containingquery, then the expression is evaluated once prior to any otherprocessing and the result is reused as necessary.  If the <a href="lang_select.html">SELECT</a> expressiondoes contain variables from the outer query, then the <a href="lang_select.html">SELECT</a> is reevaluatedevery time it is needed.</p><p>When a SELECT is the right operand of the IN operator, the INoperator returns TRUE if the result of the left operand is any ofthe values generated by the select.  The IN operator may be precededby the NOT keyword to invert the sense of the test.</p><p>When a SELECT appears within an expression but is not the rightoperand of an IN operator, then the first row of the result of theSELECT becomes the value used in the expression.  If the SELECT yieldsmore than one result row, all rows after the first are ignored.  Ifthe SELECT yields no rows, then the value of the SELECT is NULL.</p><p>A CAST expression changes the datatype of the <expr> into thetype specified by &lt;type&gt;. &lt;type&gt; can be any non-empty type name that is validfor the type in a column definition of a <a href="lang_createtable.html">CREATE TABLE</a> statement.</p><p>Both simple and aggregate functions are supported.  A simplefunction can be used in any expression.  Simple functions returna result immediately based on their inputs.  Aggregate functionsmay only be used in a SELECT statement.  Aggregate functions computetheir result across all rows of the result set.</p><hr><small><i>This page last modified 2008/04/27 17:48:52 UTC</i></small></div></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -