美文网首页
MySql 和 Oracle 字符串拼接 "+"和"concat

MySql 和 Oracle 字符串拼接 "+"和"concat

作者: 超人有点忙 | 来源:发表于2018-10-12 17:13 被阅读0次

    首先“+”是运算符,“concat”是函数。
    在数据库中都是用concat来做字符串连接。
    如下图我们可以看到,mysql数据库在用“+”前后拼接字符串时,不会进行拼接,而是内部转换成数字来进行计算。如果是字符相加返回值则是0.

    mysql1-1 mysql1-2

    如下图2-1,oracle不同与mysql,虽然+也是运算符,如果是数字带了单引号做相加,结果和mysql相同,会自动转换成number形再做运算。


    oracle.png2-1

    但是如果其中存在字母加单引号,会直接报无效数字错误。


    oracle2-2

    同样今天在做where in 查询的时候 发现了同样的问题,
    如下图2-3有一个测试表 tbl_example,有三个字段。id number、num varchar2、text clob。


    oracle2-3

    如果原本varchar2的值是1、2数字的话,in 条件查询没有问题。


    oracle2-4
    但是如果把数字全部改成字母,即便是会自动转换也会报无效数字的错。如图2-6
    oracle2-5
    oracle2-6

    相关文章

      网友评论

          本文标题:MySql 和 Oracle 字符串拼接 "+"和"concat

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