📄 column_decltype.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Declared Datatype Of A Query Result</title><style type="text/css">body { margin: auto; font-family: "Verdana" "sans-serif"; padding: 8px 1%;}a { color: #45735f }a:visited { color: #734559 }.logo { position:absolute; margin:3px; }.tagline { float:right; text-align:right; font-style:italic; width:240px; margin:12px; margin-top:58px;}.toolbar { font-variant: small-caps; text-align: center; line-height: 1.6em; margin: 0; padding:1px 8px;}.toolbar a { color: white; text-decoration: none; padding: 6px 12px; }.toolbar a:visited { color: white; }.toolbar a:hover { color: #80a796; background: white; }.content { margin: 5%; }.content dt { font-weight:bold; }.content dd { margin-bottom: 25px; margin-left:20%; }.content ul { padding:0px; padding-left: 15px; margin:0px; }/* rounded corners */.se { background: url(../images/se.png) 100% 100% no-repeat #80a796}.sw { background: url(../images/sw.png) 0% 100% no-repeat }.ne { background: url(../images/ne.png) 100% 0% no-repeat }.nw { background: url(../images/nw.png) 0% 0% no-repeat }</style><meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head><body><div><!-- container div to satisfy validator --><a href="../index.html"><img class="logo" src="../images/SQLite.gif" alt="SQLite Logo" border="0"></a><div><!-- IE hack to prevent disappearing logo--></div><div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div><table width=100% style="clear:both"><tr><td> <div class="se"><div class="sw"><div class="ne"><div class="nw"> <div class="toolbar"> <a href="../about.html">About</a> <a href="../sitemap.html">Sitemap</a> <a href="../docs.html">Documentation</a> <a href="../download.html">Download</a> <a href="../copyright.html">License</a> <a href="../news.html">News</a> <a href="http://www.sqlite.org/cvstrac/index">Developers</a> <a href="../support.html">Support</a> </div></div></div></div></div></td></tr></table> <a href="intro.html"><h2>SQLite C Interface</h2></a><h2>Declared Datatype Of A Query Result</h2><blockquote><pre>const char *sqlite3_column_decltype(sqlite3_stmt*,int);const void *sqlite3_column_decltype16(sqlite3_stmt*,int);</pre></blockquote><p>The first parameter is a <a href="../c3ref/stmt.html">prepared statement</a>.If this statement is a SELECT statement and the Nth column of thereturned result set of that SELECT is a table column (not anexpression or subquery) then the declared type of the tablecolumn is returned. If the Nth column of the result set is anexpression or subquery, then a NULL pointer is returned.The returned string is always UTF-8 encoded.For example, in the database schema:</p><p>CREATE TABLE t1(c1 VARIANT);</p><p>And the following statement compiled:</p><p>SELECT c1 + 1, c1 FROM t1;</p><p>Then this routine would return the string "VARIANT" for the secondresult column (i==1), and a NULL pointer for the first result column(i==0).</p><p>SQLite uses dynamic run-time typing. So just because a columnis declared to contain a particular type does not mean that thedata stored in that column is of the declared type. SQLite isstrongly typed, but the typing is dynamic not static. Typeis associated with individual values, not with the containersused to hold those values.</p><p><h3>Invariants:</h3><table border="0" cellpadding="5" cellspacing="0"><tr><td valign="top">F13761</td> <td valign="top">A successful call to <a href="../c3ref/column_decltype.html">sqlite3_column_decltype(S,N)</a>returns a zero-terminated UTF-8 string containing thethe declared datatype of the table column that appearsas the Nth column (numbered from 0) of the result set to the<a href="../c3ref/stmt.html">prepared statement</a> S.</td></tr><tr><td valign="top">F13762</td> <td valign="top">A successful call to <a href="../c3ref/column_decltype.html">sqlite3_column_decltype16(S,N)</a>returns a zero-terminated UTF-16 native byte order stringcontaining the declared datatype of the table column that appearsas the Nth column (numbered from 0) of the result set to the<a href="../c3ref/stmt.html">prepared statement</a> S.</td></tr><tr><td valign="top">F13763</td> <td valign="top">If N is less than 0 or N is greater than or equal tothe number of columns in <a href="../c3ref/stmt.html">prepared statement</a> Sor if the Nth column of S is an expression or subquery ratherthan a table column or if a memory allocation failureoccurs during encoding conversions, thencalls to <a href="../c3ref/column_decltype.html">sqlite3_column_decltype(S,N)</a> or<a href="../c3ref/column_decltype.html">sqlite3_column_decltype16(S,N)</a> return NULL.</td></tr></table></p><p>See also lists of <a href="objlist.html">Objects</a>, <a href="constlist.html">Constants</a>, and <a href="funclist.html">Functions</a>.</p><hr><small><i>This page last modified 2008/05/12 13:08:44 UTC</i></small></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -