有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:
- MySQL: CONCAT()
- Oracle: CONCAT(), ||
- SQL Server: +
CONCAT() 的语法如下:
Mysql 中 CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。
请注意,Oracle的CONCAT()只允许两个参数;换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用'||来一次串连多个字串。
下面来看几个例子
表名为Test
id path title ti
1 0 首页 0
2 0,1 新闻 1
3 0,2 JAVA 2
4 0,3 JSP 3
5 0,2,3 业界动态 2
6 0,2,3 国内新闻 1
MySQL/Oracle:
SELECT CONCAT(id,path) FROM Test
WHERE title= ' 首页';
结果:
'01'
例子2:
Oracle:
SELECT id|| ', ' || path FROM Geography
WHERE title= ' 首页';
结果:
'0,1'
例子3:
SQL Server:
SELECT id + ', ' + path FROM Geography
WHERE title= ' 首页';
结果:
'0,1'
例子4:
MySQL:
SELECT CONCAT(id,',',path) FROM Geography
WHERE title= ' 首页';
结果:
'0,1'
这样就很明显的看出来其中的区别了!