SQLite near “(“: syntax error的原因及解决方法

这篇具有很好参考价值的文章主要介绍了SQLite near “(“: syntax error的原因及解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在SQLite中尝试执行一段如下SQL报错:near "(": syntax error

select name,CASE 
WHEN LEFT(name,2)='美团' then '美团'  
WHEN LEFT(name,2)='京东' then '京东'  
WHEN LEFT(name,2)='淘宝' then '淘宝' 
WHEN LEFT(name,3)='拼多多' then '拼多多' 
WHEN LEFT(name,2)='超市' then '线下'  ELSE '其他' end  as platform from PayInfo_B

SQLite near “(“: syntax error的原因及解决方法

经核实,语法并没有问题,问题来自于Left是SQL Server的内部函数,SQLite并不支持Left,几番调试之后,发现 left 是 SQLite 的保留字(LEFT JOIN),left 的功能可以使用SQLite中的substr函数来代替。

select name,CASE 
WHEN SUBSTR(name,1,2)='美团' then '美团'  
WHEN SUBSTR(name,1,2)='京东' then '京东'  
WHEN SUBSTR(name,1,2)='淘宝' then '淘宝' 
WHEN SUBSTR(name,1,3)='拼多多' then '拼多多' 
WHEN SUBSTR(name,1,2)='超市' then '线下'  ELSE '其他' end  as platform from PayInfo_B

或者INSTR代替

select name,CASE 
WHEN INSTR(name,'美团')>0 then '美团'  
WHEN INSTR(name,'京东')>0 then '京东'  
WHEN INSTR(name,'淘宝')>0 then '淘宝' 
WHEN INSTR(name,'拼多多')>0 then '拼多多'
WHEN INSTR(name,'超市')>0 or INSTR(name,'购物')>0 then '线下'  ELSE '其他' end  as platform from PayInfo_B

确认SQLite中的语法基本=Oracle语法。比如SQL中可以通过Select * into xxx from xxx来建表和复制表结构或数据,但是Oracle和SQLite,mysql中都不行,需要使用Create table xxx as select xxx来完成相应的操作.文章来源地址https://www.toymoban.com/news/detail-508909.html

到了这里,关于SQLite near “(“: syntax error的原因及解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决Syntax Error: Error: No ESLint configuration found Syntax Error: TypeError: eslint.CLIEngine i问题...

    1.在项目中安装 ESLint :npm install eslint --save-dev 2.生成配置文件:./node_modules/.bin/eslint --init 3.初始化成功后,会在项目根目录生成一个 .eslintrc.js 文件,文件内容: module.exports = { \\\"env\\\": { \\\"browser\\\": true, \\\"es2021\\\": true }, \\\"extends\\\": [ \\\"eslint:recommended\\\", \\\"plugin:vue/essential\\\" ], \\\"parserOptions\\\": { \\\"ecm

    2024年03月10日
    浏览(30)
  • Keil 提示error C231: ‘INT0‘: redefinition的原因及其解决方法

    redefinition 中文意思是 “重复定义” 。纵览我所写的程序,只有此处首次出现 INT0。既然说我是重复定义,说明被引用到文件里已经定义 INT0。OK,我只包含 reg51.h 头文件,只有找它了。 reg51.h 头文件已经使用 INT0 了。 将自己写的 INT0 改成其他名字。(不要改头文件里的 INT0)

    2024年02月11日
    浏览(32)
  • VITE打包时内存溢出问题解决 FATAL ERROR: Ineffective mark-compacts near heap limit

    楼主也不知道怎么回事在编写Vue3+Cesium项目打包时就遇见了这个问题,然后根据百度到的资料说是node编译时内存不够需要手动提升内存,然后需要安装两个组件,相关博客链接我贴在下面: https://blog.csdn.net/qq_43227958/article/details/123017935 安装完插件之后运行npm run build 还是不行,会报

    2024年02月16日
    浏览(34)
  • SHELL脚本“syntax error: unexpected end of file”解决方案

    目前发现运行shell脚本时, 出现\\\"syntax error: unexpected end of file\\\"的情况有三种, 第三种应该有很多变异的情况 第一种, 常说的window下编写的shell脚本, 放到linux下运行会出现这种报错, 因为win下编写的shell脚本的格式是dos格式的, 这情况网上的解决办法有很多,如下: 如果确实是这种情

    2024年02月15日
    浏览(36)
  • Syntax Error: Error: Node Sass version x.x.x is incompatible with ^4.0.0.解决办法

    Syntax Error: Error: Node Sass version 9.0.0 is incompatible with ^4.0.0.  @ ./src/assets/css/global.scss 4:14-235 15:3-20:5 16:22-243  @ ./src/main.js  @ multi (webpack)-dev-server/client?http://192.168.7.103:8081sockPath=/sockjs-node (webpack)/hot/dev-server.js ./src/main.js 代码如下(示例): 1 代码如下(示例):

    2024年02月12日
    浏览(35)
  • Syntax Error: TypeError: this.getOptions is not a function的解决(Vue)

    报错信息: TypeError: this.getOptions is not a function 这个是在运行项目是遇到的问题 这个报错是类型错误,this.getOptions 不是一个函数 。这个错误一般就是less-loader库里的错误。 主要是less-loader版本太高,不兼容this.getOptions方法。 解决方案: 找到package.json文件中的“less”和“les

    2024年02月12日
    浏览(40)
  • 【解决】npm run dev Syntax Error: TypeError: eslint.CLIEngine is not a constructor

          由于代码语法不符合eslint而照成此错误,可以参照eslint规则修改语法,或者将eslint停掉 以下为停掉eslint的方法。 You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file. 打开package.json将以下代码

    2024年04月16日
    浏览(25)
  • Vue 出现Syntax Error:TypeError: Cannot read property ‘vue‘ of undefined的一种解决办法

    出现如下情况 背景:首次克隆运行项目 技术背景:项目使用的前端框架和UI框架 :vue2+element-ui 然后npm install 安装依赖,得到node_modules包和package-lock.json文件,然后npm run dev启动报错。 排查原因: 首先看了package.json 文件的node版本和npm版本支持 当前的我的node和npm版本用的是:

    2024年02月13日
    浏览(30)
  • java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax;报错解决方式

    java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \\\'-category   WHERE  del_flag=0\\\' at line 1     at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.25.jar:8.0.25]     at com.mysql

    2024年02月15日
    浏览(40)
  • 完美解决:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to

    目录 一、问题: 二、原因:  三、解决方法: 四、拓展: 使用下列授权语句: 【 mortal :数据库名  xiaoqi :用户名  localhost :主机名    mortalz7 :密码】  遇到如下问题: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包