【问题标题】:SQLite problem selecting two columns as oneSQLite问题选择两列作为一列
【发布时间】:2009-06-16 19:00:55
【问题描述】:

带有 empname 和 empdpt 的基本表。
在 Sql Server 表中,我可以做到Select empname + ' ' + empdpt as expr1 没问题。
不能用 Sqlite 做同样的事情!!
当我尝试合并两列 [with data] 时,我得到一个 0。
我在 VS 中尝试过 sqliteman 和 sqliteadmin 以及 Server Explorer。

【问题讨论】:

    标签: sqlite


    【解决方案1】:

    尝试使用以下方法:

    SELECT ("test" || " " || "test2") AS expr1 ;
    

    更新

    如果这些是列,您可以执行类似的操作:SELECT (column1 || " " || column2) AS expr1 FROM your_table;

    【讨论】:

    • 选择员工名 || " " || empdpt as expr1 有效...谢谢...知道为什么基本的 a + b 在 Sqlite 中不起作用?
    • 不,抱歉。不知道任何原因,也没有在mail-archive.com/sqlite-users@sqlite.org 上找到任何答案。但是有人说它与Oracle和PostgreSQL中的相同。以下是您可能感兴趣的其他几个函数(Sqlite3):sqlite.org/lang_aggfunc.html
    【解决方案2】:
    Select empname || " " || empdpt as expr1 
    

    sqllite concat 与 PostGreSQL (||) 相同,而不是 MYSQL 或 MSSQL 'CONCAT'

    【讨论】:

      【解决方案3】:

      对于那些尝试使用@merkuru(工作)解决方案的人

      SELECT (column1 || " " || column2) AS expr1 FROM your_table;

      在 Eclipse 或其他编辑器中:

      你必须用 \ 取消 "

      类似:

      SELECT (column1 || \" \" || column2) AS expr1 FROM your_table;

      效果很好

      【讨论】:

        【解决方案4】:

        这在 where 子句中对我有用:

        SELECT * FROM table_name WHERE(first_name || last_name) LIKE comparison_string;
        

        【讨论】:

          猜你喜欢
          • 2023-03-03
          • 2016-02-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-17
          • 1970-01-01
          相关资源
          最近更新 更多