在sqlite中使用create table< name>作为select创建表时出错

qnzebej0  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(541)

我试图创建一个日期表,为特定的日期范围生成eom日期,但是sqlite在创建表时抛出了一个错误。我目前的代码如下:

  1. WITH RECURSIVE cnt (
  2. x
  3. ) AS (
  4. SELECT
  5. 0
  6. UNION ALL
  7. SELECT
  8. x + 1
  9. FROM
  10. cnt
  11. LIMIT (
  12. SELECT
  13. ROUND(((julianday ('2020-05-01') - julianday ('2016-04-01')) / 30) + 1))
  14. )
  15. CREATE TABLE report_dates AS
  16. SELECT
  17. date(date(julianday ('2016-04-01'), '+' || x || ' month'), '-1 day') AS month
  18. FROM
  19. cnt;

然而,我得到了错误 Query 1 ERROR: near "CREATE": syntax error . 卸下 CREATE TABLE report_dates AS 线条确实可以显示结果。是什么驱动了这一切?

iswrvxsc

iswrvxsc1#

cte追求 create table :

  1. CREATE TABLE report_dates AS
  2. WITH RECURSIVE cnt (x) AS (
  3. SELECT 0
  4. UNION ALL
  5. SELECT x + 1
  6. FROM cnt
  7. LIMIT (
  8. SELECT ROUND(((julianday ('2020-05-01') - julianday ('2016-04-01')) / 30) + 1)
  9. )
  10. )
  11. SELECT date(date(julianday ('2016-04-01'), '+' || x || ' month'), '-1 day') AS month
  12. FROM cnt;

相关问题