JAVA的MySQL字符串拼接_MySQL字符串拼接、截取

拼接字符串

1.oracle 字符串拼接:||

select '1' || '2' from dual;

2.MySQL 字符串拼接:concat(a,b)

select concat('1','2') from dual;

截取字符串

1.MySQL

函数:SUBSTRING或者SUBSTR

1.1语法

位置

SUBSTRING(string,position);

SUBSTRING(string FROM position);

位置和长度

SUBSTRING(string,position,length);

SUBSTRING(string FROM position FOR length);

1.2下标

-

H

e

l

l

0

W

o

r

l

d

正数

1

2

3

4

5

6

7

8

9

10

11

负数

-11

-10

-9

-8

-7

-6

-5

-4

-3

-2

-1

1.3 示例详情

位置

position>0,从position(包含)开始

SELECT SUBSTRING('Hello World',1);

SELECT SUBSTRING('Hello World' FROM 7);

Hello World

World

position=0返回空

SELECT SUBSTRING('Hello World',0);

position<0,与position为正时是一样的,下面的sql的效果是相同的

SELECT SUBSTRING('Hello World',-11);

SELECT SUBSTRING('Hello World' FROM -5);

当position的绝对值>LENGTH(string)时,返回空,和position=0时一样

SELECT SUBSTRING('Hello World',12);

SELECT SUBSTRING('Hello World',-12);

位置和长度

position的用法和上面讲的是一样的,下面仅总结length

length>0时返回length个字符数,当length>string的可截取的长度时,只返回可截取的长度

SELECT SUBSTRING('Hello World',1,5);

SELECT SUBSTRING('Hello World',6,20);

Hello

World

length<=0时返回空

SELECT SUBSTRING('Hello World',1,0);

SELECT SUBSTRING('Hello World',1,-20);

类似于下面的效果

SELECT SUBSTRING('Hello World',6,20);

SELECT SUBSTRING('Hello World' FROM 6 FOR 20);

通过LENGTH查看字符串的长度验证(当length>string的可截取的长度时)

SELECT LENGTH(SUBSTRING('Hello World' FROM 6 FOR 20));

结果为6

2.Oracle

函数:SUBSTR

和MySQL区别是没有SUBSTRING

2.1语法

位置

SUBSTR(string,position);

SUBSTR(string FROM position);

位置和长度

SUBSTR(string,position,length);

SUBSTR(string FROM position FOR length);

2.2下标

-

H

e

l

l

0

W

o

r

l

d

正数

0或1

2

3

4

5

6

7

8

9

10

11

负数

-11

-10

-9

-8

-7

-6

-5

-4

-3

-2

-1

位置

与MySQL一样,position>0和position<0时是一样的效果,参照上面的下标对应即可,不同的是,position=0和position=1的效果是一样的。

下面三个sql效果一样

SELECT SUBSTR('Hello World',0) FROM DUAL;

SELECT SUBSTR('Hello World',1) FROM DUAL;

SELECT SUBSTR('Hello World',-11) FROM DUAL;

Hello World

当position的绝对值>LENGTH(string)时,返回[NULL]

SELECT SUBSTR('Hello World',12) FROM DUAL

SELECT SUBSTR('Hello World',-12) FROM DUAL;

[NULL]

位置和长度

position的用法和上面讲的是一样的,下面仅总结length

length>0时返回length个字符数,当length>string的可截取的长度时,只返回可截取的长度,这点和MySQL相同

SELECT SUBSTR('Hello World',1,5) FROM DUAL;

SELECT SUBSTR('Hello World',6,20) FROM DUAL;

Hello

World

length<=0时返回[NULL],这点和MySQL不同

SELECT SUBSTR('Hello World',1,0) FROM DUAL;

SELECT SUBSTR('Hello World',6,-20) FROM DUAL;

[NULL]

总结

1、 MySQL函数为SUBSTRING 或 SUBSTR,Oracle只有SUBSTR

2、 position=0时MySQL返回空,而Oracle和position=1时一样

3、 当position的绝对值>LENGTH(string)时和length<=0时,MySQL返回空,而Oracle返回[NULL]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值