【发布时间】:2012-02-27 15:37:22
【问题描述】:
我是来自 mysql 的 sqlite 的初学者。 也许我的问题很愚蠢,但例如我在 mysql 中找不到“AS”的等价物。
示例:"SELECT firstName || ' ' || lastName AS fullName FROM myTable;"
有可能吗?
提前致谢!
【问题讨论】:
我是来自 mysql 的 sqlite 的初学者。 也许我的问题很愚蠢,但例如我在 mysql 中找不到“AS”的等价物。
示例:"SELECT firstName || ' ' || lastName AS fullName FROM myTable;"
有可能吗?
提前致谢!
【问题讨论】:
SQLite 还支持使用AS,如下图所示来自页面Syntax Diagrams for SQLite:
结果列:
为什么要使用“AS”?
因为它允许您为结果集中的每一列指定一个描述性名称。您可以在阅读结果时使用此名称来引用该列。
【讨论】:
AS 关键字在 SQLite 中的作用与在 mysql 中一样好。例如,参见SQLite syntax reference(特别是Result Column production)。你的第二个问题:SQLite 支持|| concatenation operator。
请注意,如果您打算按名称引用结果列,则无论如何您都希望为SELECTed 值使用别名,因为sqlite3_column_name 函数的文档指出:
如果存在 AS 子句,则结果列的名称是该列的“AS”子句的值。如果没有 AS 子句,则列的名称未指定,并且可能会从 SQLite 的一个版本更改为下一个版本。
【讨论】:
SELECT firstName || ' ' || lastName fullName FROM myTable; 为我工作
更新:不是sqllite的喜欢用户,所以不知道其中存在AS关键字。 我不会避免在任何语句中使用 keyworkd AS(正如我的回答所建议的那样),因为它有助于提高代码的可读性。
【讨论】: