Home  >  Article  >  Database  >  Oracle与MySQL字符串拼接

Oracle与MySQL字符串拼接

WBOY
WBOYOriginal
2016-06-07 16:42:451145browse

如果CONCAT中连接的值不是字符串,Oracle会尝试将其转换为字符串,与MySQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数

一、MySQL

在Java中我们通常用加号"+"来实现字符串的拼接,MySQL中也可以使用"+"来实现,比如:

先加入测试数据

CREATE TABLE test(
      id INT,
      name VARCHAR(10),
      score FLOAT
 );
INSERT INTO test VALUES(1,'zhang',98);
INSERT INTO test VALUES(2,'li',95);

Demo1

SELECT NAME+'hello' FROM test;

执行结果:

MySQL会将加号两端的字段值尝试转换为数字类型,如果转换失败则认为字段值为0

Demo2

SELECT score,score+5 FROM test;

执行结果:

从以上可以看出"+"其实就是一个操作符,在MySQL中进行字符串的拼接要使用CONCAT函数,

CONCAT函数支持一个或者多个参数,参数类型可以为字符串类型也可以是非字符串类型,对于非字符串类型的参数MySQL将尝试

将其转化为字符串类型,CONCAT函数会将所有参数按照参数的顺序拼接成一个字符串做为返回值。

Demo3

SELECT CONCAT(NAME,'-hello',' good') FROM test;

执行结果:

MySQL中还提供了另外一个进行字符串拼接的函数CONCAT_WS,

CONCAT_WS可以在待拼接的字符串之间加入指定的分隔符,第一个参数为要设置的分隔符,

而剩下的参数则为待拼接的字符串值

Demo4

SELECT CONCAT_WS('-',NAME,'考了',score) FROM test;

执行结果:

二、Oracle

Oracle中使用"||"进行字符串拼接

Demo5

select name||'hello' from test;

执行结果:

除了"||",Oracle还支持使用CONCAT()函数进行字符串拼接

Demo6

执行结果:

如果CONCAT中连接的值不是字符串,Oracle会尝试将其转换为字符串,与MySQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数,不支持两个以上字符串的拼接。

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

Oracle Linux 6.5安装Oracle 11.2.0.4 x64

本文永久更新链接地址:

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn