【发布时间】:2012-09-07 08:00:42
【问题描述】:
我想创建一个 SELECT 查询,它将以 integer 格式的列中的数字作为 text 格式返回 - 我可以在 SQLite 中执行吗?
【问题讨论】:
标签: sql sqlite type-conversion
我想创建一个 SELECT 查询,它将以 integer 格式的列中的数字作为 text 格式返回 - 我可以在 SQLite 中执行吗?
【问题讨论】:
标签: sql sqlite type-conversion
SQLite 支持CAST 和:
将 INTEGER 或 REAL 值转换为 TEXT 会像通过 sqlite3_snprintf() 一样呈现该值,但生成的 TEXT 使用数据库连接的编码。
所以你可以这样做:
select cast(some_integer_column as text) from some_table;
或者,根据您要执行的操作,您可以将数字视为字符串并让 SQLite 强制转换它认为合适的类型:
select some_int || ' pancakes' from some_table;
select some_int || '' from some_table;
【讨论】:
CAST(<expr> TO <type>)(注意那里的TO)。
CAST(... TO ...) 不起作用,但AS 起作用?至少在撰写此评论时。
cast(... to ...) 在某些时候是文档中的错字。 “CAST 表达式”文档(当前)使用 AS,语法图使用 AS,SQL 标准使用 AS,AS 甚至可以工作:)