一、场景描述

平时在用字符串拼接sql语句的时候,有没有遇到过下面的情况:

没错,就是单双引号问题。其实,关于双引号我们是容易理解的,sql语句是用String字符串拼接的,因此需要用到双引号。但是为什么双引号里面还要嵌套一个单引号是不是对于刚入门的初学者有些蒙蔽了呢,下面我们一起来分析一下,你就明白啦!

二、问题分析

平时写sql的时候,遇到条件为字符串的值,我们会习惯性的加上单引号''

其实,在sql语句中,尤其是MySQL,对于字符型只接受单引号

select * from student t where t.name = '冰雪的灵界石'

复制代码

而对于数字类型的就不需要加单引号了

select * from student t where t.age = 23

复制代码

凡事都有但是,上面的情况发生在数据库端,如果在应用程序端那就不一样了。在写代码的时候,我们如果需要手写sql进行拼接的话,那么sql语句也作为字符串存在,就需要双引号了,可是我的sql条件里有字符型的变量,这个时候就遇到了开篇的那张截图的情况了,双引号里面包裹着单引号。

StringBuilder sql = new StringBuilder();

sql.append("select * from student t where t.gender = ' " + gender + " ' ")

复制代码

这样把sql解析到数据库里去执行的时候就不会出错啦

三、总结

平时在开发的时候,或多或少遇到的一些问题就是sql语句:代码早就写好了,却一直在调试sql。所以,我们一定要练好基本功,遇到问题学会分析,在解决问题的过程中也是你成长最快的时候。

书写sql语句的时候,字符型要加上单引号,数字型就不需要了

在代码里手写sql拼接时要把字符串的变量用单引号包住

java sql 引号_java拼接sql语句里的单双引号相关推荐

  1. 达梦8数据库更新语句包含单引号双引号引起转义字符执行失败解决方法全网唯一

    达梦数据库更新语句包含单引号双引号引起执行失败解决方法全网唯一 如果一个更新的UPDATE更新语句的内容包含单引号',会引起执行错误! 错误的类型不止这一种,但是都是因为内容里面包含转义字符单引号引起 ...

  2. 案例分享:只因在 update 语句中误用一个双引号,生产数据竟然都变成了 0

    案例分享:只因在 update 语句中误用一个双引号,生产数据竟然都变成了 0 一.前言 最近经常碰到开发误删除误更新数据,这不,他们又给我找了个麻烦,我们来看下整个过程. 二.过程 由于开发需要在生 ...

  3. js字符串拼接中关于单引号和双引号的那些事

    在js开发中一般我们多多少少都会用到字符串拼接,新手们经常会遇到各种错误,其中关于字符串拼接的问题尤其重要,今天来谈一谈. 1.常用字符串拼接 当我们从后台请求到数据时,传统渲染我们就会将请求到的数据 ...

  4. java单双引号的区别

    最近写springsecurity遇到单双引号共存的情况 @PreAuthorize("hasRole('经理') or hasAuthority('user:get')") 看上 ...

  5. c语言中常量单双引号,C语言常量中字元与字串 除了单引号与双引号的区别外,还有什么不同。...

    C语言常量中字元与字串 除了单引号与双引号的区别外,还有什么不同.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C语言 ...

  6. DM8联机逻辑备份perl脚本实现要点(单双引号、system和disql)

    概要 此文章非完整脚本功能分享,仅就实现逻辑备份功能进行分享. 问题背景 在编写DM8自动化备份perl脚本中,在涉及联机物理库级备份时,需要执行相关操作,正常情况下,相应语句如下(已简写,便于理解) ...

  7. linux shell 引号 参数,shell(三)变量,基本语法,单双引号

    shell中的变量 变量的声明:在shell中变量不需要事先声明,不必显示声明 变量的赋值:VAR=value,不允许有空格.如:a=100 变量的数据类型:shell中的变量无数据(弱)类型!同一变 ...

  8. Python常见问题之单双引号使用错误

    单双引号都可以用来表示字符串 但是如果在一个字符串中还需要有一个字符串,该怎么办?(可能表达不是太准确看代码: sql='select *from text where name = "li ...

  9. python笔记22-literal_eval函数处理返回json中的单双引号

    前言 在做接口测试的时候,最常见的接口返回数据就是json类型,json类型数据实际上就是字串,通常标准的json格式是可以转化成python里面的对应的数据类型的 有时候开发返回的数据比较坑,不按常 ...

最新文章

  1. Java 蓝牙无线API 简介
  2. linux下C语言套接字编程sockaddr和sockaddr_in的区别
  3. QT的QOpenGLShaderProgram类的使用
  4. 简洁易懂:c:out标签详解
  5. ffmpeg 将拆分的数据合成一帧_FFmpeg + OpenGLES 实现视频解码播放和视频滤镜
  6. Hadoop MapReduce概念学习系列之MPI和MapReduce(十三)
  7. delphi 调用浏览器内核_HFL:基于混合模糊测试的Linux内核漏洞挖掘
  8. Ubuntu13.10上android+idea+scala+sbt环境搭建
  9. HTTP最常见的请求头
  10. 一份神奇的礼物(1)
  11. java执行复杂linux,解决java使用Runtime.exec执行linux复杂命令不成功问题
  12. Twitter引流如何开发客户
  13. 句法引导的机器阅读理解
  14. TCP断开时的状态与Linux nf_conntrack
  15. 【数据挖掘实战】——航空公司客户价值分析(K-Means聚类案例)
  16. 体寒是不是天生的 体寒四个基本常识须知
  17. 区别wchar_t,char,WCHAR
  18. 微信15分钟视频怎么发送(简单实用的方法)
  19. HDU 1495 非常可乐(数论)
  20. Java框架tk_TKmybatis的框架介绍和原理分析及Mybatis新特性

热门文章

  1. Java - Pair
  2. Docker暴露2375端口导致服务器被攻击解决方法!
  3. php网站分站功能,使用Wordpress的多站点功能、设置分站 | 某某人的记事本
  4. myeclipse的JS出现红叉叉解决方法
  5. 电子商务网站网上支付原理简析
  6. 异常检测-PCA方法
  7. SEO的六种赚钱方式
  8. java 读取dat文件_想知道如何从.dat文件中读取对象
  9. html语言详细介绍
  10. 转载--我与英语技术书籍