美文网首页
sql查询中字符串拼接的问题

sql查询中字符串拼接的问题

作者: 住在海边的人_ | 来源:发表于2018-11-13 20:20 被阅读9次

使用场景:

在使用spring data jpa中的query进行将多个不同类型的id拼接成一个新的id进行查询时,遇到这个问题,主要原因是这些id的数据类型不统一,有varchar又有int类型,而sql在进行字符串拼接时如果一边是int类型,会将varchar类型转换成int类型结合 + ,类似做加法计算了(个人理解,大概是这么个意思),同样的情况在其他类型的运算中也会遇到吧,大概意思就是不同类型的值进行字符串拼接时,有一些会进行自动类型转换,而有一些在这个过程中会出现问题。因此我们需要手动地进行类型转换,而sql语法中提供了对应地函数,见下文:

将字符串与整数拼接,即varchar拼接int,不同类型间进行字符串拼接时会提示将varchar值xxx转换成数据类型int时失败。

由此可见,在做字符串拼接运算时,系统会将字符串varchar类型转化为int,若不能转换则提示错误,转换成功则进行数字计算。

因此需要将类型做一个转换,即都转换为varchar类型

sql中类型转换常用函数:

1.CAST()函数可以将某种数据类型的表达式转化为另一种数据类型

2.CONVERT()函数也可以将制定的数据类型转换为另一种数据类型

举例说明:

SELECT CAST('678' AS INT) + 123;

SELECT CONVERT(INT, '678') + 123;

相关文章

  • sql查询中字符串拼接的问题

    使用场景: 在使用spring data jpa中的query进行将多个不同类型的id拼接成一个新的id进行查询时...

  • SQL中字符串拼接

    SQL中字符串拼接 1. 概述 在SQL语句中经常需要进行字符串拼接,以sqlserver,oracle,mysq...

  • sql拼接

    字符串的拼接, 在数据库中把需要的查询sql编写好,接下来就是直接在代码中对其进行拼接 加号 引号 对于需要使用‘...

  • SQL注入

    可能引发注入的场景 SQL里面直接拼接了SQL 查询参数里面直接拼接SQL,没有做处理(直接把查询关键字拼到SQL...

  • 一怒之下,开发了一款IDEA插件 [Mybatis Log Pl

    起因 近期项目开发中,涉及到一个高级查询的功能,SQL长达近百行,排查SQL问题时,需要拼接成可执行SQL。市面存...

  • 搜索

    直接sql查询 用sql语句like查询,复杂的用sql语句拼接。 视图和存储过程查询 简化程序,提高执行效率,维...

  • Nutz

    自定义Sql + 拼接查询条件 + 分页

  • 2019-09-30 【日记】

    学习记录 SQL 拼接,截取字符串 拼接字符串 CONCAT() 截取字符串 SUBSTR()//SUBSTRIN...

  • 反射实现 daoImpl

    代码实现: 反射拼接 sql 字符串

  • Mybatis

    mybatis中#和$的区别 $直接与SQL语句进行拼接,#以字符串进行拼接,即加“”; #{}会经过预编译, ...

网友评论

      本文标题:sql查询中字符串拼接的问题

      本文链接:https://www.haomeiwen.com/subject/jbfrfqtx.html