(抱歉我的英语不好)
如果您在sqlite数据库上尝试此选择操作:
SELECT列AS'别名1'FROM表;
您获得了预期的列名称:
alias 1
--------
result 1
result 2
Run Code Online (Sandbox Code Playgroud)
但如果你的别名包含一个点"." ...你得到一个错误的列名:
SELECT列AS'alias.1'FROM表;
1
--------
result 1
result 2
Run Code Online (Sandbox Code Playgroud)
(列后面的所有内容都在列名中省略)
哇...这很奇怪......
有人可以帮帮我吗?
非常感谢你
更新:
也许这只是SQLiteStudio(我正在测试我的查询的软件)和QT中的一个错误(他们都不期望别名中的点,但sqlite会这样做)
Kev*_*eno 11
用双引号括起你的别名.
SELECT 'test' AS "testing.this"
Run Code Online (Sandbox Code Playgroud)
输出:
| testing.this |
test
Run Code Online (Sandbox Code Playgroud)
更新:
双引号用于在SQL中包含标识符,而不是单引号.单引号仅适用于字符串.在这种情况下,您正在尝试确保"testing.this"按原样使用,而不是混淆为testing.this(testing表格this列).
http://www.sqlite.org/faq.html#q24
使用反引号
SELECT column AS `alias.1` FROM table;
Run Code Online (Sandbox Code Playgroud)
或根据其他答案使用双引号(ANSI 标准)
SELECT column AS "alias.1" FROM table;
Run Code Online (Sandbox Code Playgroud)
两者均在 FireFox 的 SQLite Manager 中进行了验证
| 归档时间: |
|
| 查看次数: |
11214 次 |
| 最近记录: |