SQL怎么拼接字符串

发布网友 发布时间:2022-04-21 00:11

我来回答

7个回答

热心网友 时间:2022-04-07 16:58

不同的数据库,相应的字符串拼接方式不同,通过对比加深一下记忆。

一、MySQL字符串拼接

1、CONCAT函数

语法格式:CONCAT(char c1, char c2, ..., char cn) ,其中char代表字符串,定长与不定长均可以

连接两个字符串

连接多个字符串

2、"+"操作符

连接两个字符串

 

连接多个字符串

3、假如其中一个字段为NULL,则用结果用空格代替NULL。

 

二、Oracle字符串拼接

1、CONCAT函数  

语法格式:CONCAT(char c1, char c2) ,其中char代表字符串,定长与不定长均可以

连接两个字符串

连接多个字符串

  

使用CONCAT函数的嵌套实现。

2、"||"操作符

连接两个字符串

连接多个字符串

3、假如其中一个字段为NULL,则用结果用空格代替NULL。

扩展资料

字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数,如C,pascal,Visual以及LotusScript中进行字符串拷贝,计算长度,字符查找等的函数。

字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[10]="j"。

而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。

字符串函数的应用

1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.

例:concat(‘11’,'aa’)='11aa’;

2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。

例:copy(‘abdag’,2,3)=’bda’

3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。

例:s:=’abcde’;delete(s,2,3);结果s:=’ae’

4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置

例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’

5、求字符串长度 length(s) 例:length(‘12abc’)=5

在ASP中 求字符串长度用 len(s)例: len("abc12")=5

6、搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.

例:pos(‘ab’,’12abcd’)=3

7、字符的大写转换。Upcase(ch) 求字符ch的大写体。

例:upcase(‘a’)=’A’

8、数值转换为数串。 过程 Str(x,s) 把数值x化为数串s.

例:str(12345,s); 结果s=’12345’

9、数串转换为数值。 过程val(s,x,I) 把数串s转化为数值x,如果成功则I=0,不成功则I为无效字符的序数,第三个参数也可不传

例:val(‘1234’,x,I);结果 x:=1234

参考资料:百度百科 字符串函数的应用

热心网友 时间:2022-04-07 18:16

字符串 + 字符串,则直接进行拼接。若某字段为NULL,则计算结果为NULL。

SQL Server中没有concat函数(SQL Server 2012已新增concat函数)。oracle和mysql中虽然都有concat,但是oracle中只能拼接2个字符串,所以建议用||的方式;mysql中的concat则可以拼接多个字符串。

扩展资料:

在SQL Server中的“+”号除了能够进行字符串拼接外,还可以进行数字运算,在进行字符串拼接时要小心使用。

1、sqlserver:

select '123'+'456';

2、oracle:

select '123'||'456' from al;


select concat('123','456') from al;

3、mysql:

select concat('123','456');

参考资料:结构化查询语言-百度

热心网友 时间:2022-04-07 19:51

以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性。

sqlserver:

select '123'+'456';

oracle:

select '123'||'456' from al;

select concat('123','456') from al;

mysql:

select concat('123','456');

注意:oracle和mysql中虽然都有concat,但是oracle中只能拼接2个字符串,所以建议用||的方式;mysql中的concat则可以拼接多个字符串。

热心网友 时间:2022-04-07 21:42

首先,sql
server
中字符串拼接要用+连接
其次,exec执行存储过程时,参数中不能任何运算。因此需要先拼接好字符串,再将这个拼接好的结果传给存储过程。
DECLARE @IP Nvarchar(50)
SET @IP = '127.0.0.1'
DECLARE @Cmd Nvarchar(50)
SET @Cmd = 'ping '+ @IP +' -n 2'
EXEC Master..xp_cmdShell @Cmd

热心网友 时间:2022-04-07 23:50

例子1:
MySQL/Oracle:
SELECT CONCAT(region_name,store_name) FROM Geography
WHERE store_name = 'Boston';
结果:
'EastBoston'
例子2:
Oracle:
SELECT region_name || ' ' || store_name FROM Geography
WHERE store_name = 'Boston';
结果:
'East Boston'
例子3:
SQL Server:
SELECT region_name + ' ' + store_name FROM Geography
WHERE store_name = 'Boston';
结果:
'East Boston'

热心网友 时间:2022-04-08 02:15

sql 是+,如select 'EX'+'11'
oracle是|| oracle就是上面那个朋友写的

热心网友 时间:2022-04-08 04:56

SELECT 'EX' || '11' FROM DUAL

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com