【问题标题】:How to type cast in sqlite3如何在 sqlite3 中进行类型转换
【发布时间】:2018-06-04 22:33:48
【问题描述】:

我在命令提示符下运行了 sqlite3 并运行了一些基本的 SQL 命令。

user@comp:~$ sqlite3  
SQLite version 3.8.2 2013-12-06 14:53:30  
Enter ".help" for instructions  
Enter SQL statements terminated with a ";"  
sqlite> CREATE TABLE A (a int, b text, c float);  
sqlite> INSERT INTO A(a,b,c) VALUES (1, '2', 3);  
sqlite> SELECT b::int+2 FROM A;  

除了最后一行之外,所有行都正常工作,它给出了错误:`

错误:无法识别的令牌:“:”`

我从这个问题 (Double colon (::) notation in SQL) 中读到双冒号表示法是 SQL 的类型转换。是不是我操作错了?

【问题讨论】:

  • sqlite 和 Postgresql 是两个不同的东西。他们使用的语法是不可移植的。仅 ANSI 标准部分。
  • 你会如何在 sqlite 中做到这一点?

标签: sql casting sqlite


【解决方案1】:

:: 语法是 PostgreSQL 特有的。您可以改用 ANSI 标准:

SELECT CAST(b AS INT) + 2 AS alias
FROM A

SqlFiddleDemo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多