Documentation Source Text

Check-in [6b1b360098]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Update documentation for CAST to integer to describe what happens when the integer is too large. This behavior is only supported on the latest trunk, so with this check-in the documentation is no longer suitable for use with 3.22.0.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 6b1b36009807785ebea754d70b567a1f58186ed52e9db0c61e6651b00ff75b3d
User & Date: drh 2018-01-26 18:38:34
Context
2018-01-27
20:56
Update zipfile documentation to include using the table-valued function to read an in-memory zip archive. check-in: 5b698017df user: dan tags: trunk
2018-01-26
18:38
Update documentation for CAST to integer to describe what happens when the integer is too large. This behavior is only supported on the latest trunk, so with this check-in the documentation is no longer suitable for use with 3.22.0. check-in: 6b1b360098 user: drh tags: trunk
15:50
Turn on "fancy-format" for the optoverview.html document. check-in: 98e66068fe user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to pages/lang.in.

  2305   2305     <td> ^When casting a BLOB value to INTEGER, the value is first converted to
  2306   2306           TEXT.
  2307   2307          <p>^When casting a TEXT value to INTEGER, the longest possible prefix of
  2308   2308           the value that can be interpreted as an integer number is extracted from
  2309   2309           the TEXT value and the remainder ignored. ^Any leading spaces in the
  2310   2310           TEXT value when converting from TEXT to INTEGER are ignored. ^If there
  2311   2311           is no prefix that can be interpreted as an integer number, the result
  2312         -        of the conversion is 0.  ^(The CAST operator understands decimal
         2312  +        of the conversion is 0.  ^If the prefix integer is greater than
         2313  +        +9223372036854775807 then the result of the cast is exactly
         2314  +        +9223372036854775807.  ^Similarly, if the prefix integer is
         2315  +        less than -9223372036854775808 then the result of the cast is
         2316  +        exactly -9223372036854775808.
         2317  +
         2318  +        <p>^When casting to INTEGER, if the text looks like a floating point
         2319  +        value with an exponent, the exponent will be ignored because it is
         2320  +        no part of the integer prefix.  ^For example,
         2321  +        "(CAST '123e+5' AS INTEGER)" results in 123, not in 12300000.
         2322  +
         2323  +        <p> ^(The CAST operator understands decimal
  2313   2324           integers only &mdash; conversion of [hexadecimal integers] stops 
  2314   2325           at the "x" in the "0x" prefix of the hexadecimal integer string 
  2315   2326           and thus result of the CAST is always zero.)^
  2316   2327   
  2317   2328         <p>^A cast of a REAL value into an INTEGER results in the integer
  2318   2329         between the REAL value and zero that is closest to the REAL value.
  2319   2330         ^If a REAL is greater than the greatest possible signed