不同数据库中substring的差异
substring在不同数据库中存在差异,该函数用来求一个字符串的字串。该函数的使用频率很高。下面介绍在不同的数据库中该函数的使用方法与差异。
字符串:”2011-11-17”
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2
|
0
|
1
|
1
|
-
|
1
|
1
|
-
|
1
|
7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-11
|
-10
|
-9
|
-8
|
-7
|
-6
|
-5
|
-4
|
-3
|
-2
|
-1
|
0
|
1.在Oracle中求字符串的函数为:substr
The syntax for the substr function is:
substr( string, start_position, [ length ] )
string:源字符串
start_position:子串第一个字符在源字符串中的起始位置
length:子串长度
测试结果:
1
|
substr('2011-11-17',0,7)
|
2011-11
|
2
|
substr('2011-11-17',1,7)
|
2011-11
|
3
|
substr('2011-11-17',1,10)
|
2011-11-17
|
4
|
substr('2011-11-17',1,11)
|
2011-11-17
|
5
|
substr('2011-11-17',-1,7)
|
7
|
6
|
substr('2011-11-17',-8,8)
|
11-11-17
|
7
|
substr('2011-11-17',-10,7)
|
2011-11
|
8
|
substr('2011-11-17',-11,7)
|
null
|
9
|
substr('2011-11-17',-11)
|
null
|
10
|
substr('2011-11-17',-1)
|
7
|
11
|
substr('2011-11-17',6)
|
11-17
|
12
|
substr('2011-11-17',11)
|
null
|
13
|
substr (‘2011-11-17’,1,null)
|
null
|
14
|
substr (‘2011-11-17’,null,1)
|
null
|
15
|
substr (‘2011-11-17’,null,null)
|
null
|
16
|
substr ('2011-11-17',1,0)
|
null
|
17
|
substr ('2011-11-17',1,-1)
|
null
|
18
|
substr ('2011-11-17',11,11)
|
null
|
Oracle中规定:
1) start_position==0时,子串的起始位置为1,即从第一个字符开始;
2) start_position<0时,字串的起始位置从字符串尾部开始后推。
3) length参数可以缺省。
2. 在SqlSever中求字符串的函数为:substring
Syntax:
SUBSTRING ( value_expression , start_expression , length_expression )
value_expression:字符串,二进制数据,文本,图像
start_expression:子串第一个字符在源字符串中的起始位置
length_expression:子串长度
测试结果:
1
|
substring (‘2011-11-17’,0,7)
|
2011-1
|
2
|
substring (‘2011-11-17’,1,7)
|
2011-11
|
3
|
substring (‘2011-11-17’,1,10)
|
2011-11-17
|
4
|
substring (‘2011-11-17’,1,11)
|
2011-11-17
|
5
|
substring (‘2011-11-17’,-1,7)
|
2011-
|
6
|
substring (‘2011-11-17’,-8,8)
|
|
7
|
substring (‘2011-11-17’,-10,7)
|
|
8
|
substring (‘2011-11-17’,-11,7)
|
|
9
|
substring (‘2011-11-17’,-11)
|
error
|
10
|
substring (‘2011-11-17’,-1)
|
error
|
11
|
substring (‘2011-11-17’,6)
|
error
|
12
|
substring (‘2011-11-17’,11)
|
error
|
13
|
substring (‘2011-11-17’,1,null)
|
null
|
14
|
substring (‘2011-11-17’,null,1)
|
null
|
15
|
substring (‘2011-11-17’,null,null)
|
null
|
16
|
substring ('2011-11-17',1,0)
|
|
17
|
substring ('2011-11-17',1,-1)
|
error
|
18
|
substring ('2011-11-17',11,11)
|
|
19
|
substring ('2011-11-17',-1,1)
|
|
20
|
substring ('2011-11-17',-1,2)
|
|
21
|
substring ('2011-11-17',-1,3)
|
2
|
22
|
substring ('2011-11-17',-1,9)
|
2011-11
|
SqlServer中规定:
1) start_expression<1时,
length_expression = max(start_expression + length_expression – 1,0),
子串的起始位置为1,即从第一个字符开始;
2) substring中三个参数缺一不可;
3) 字符串长度不能为负数。
3.扩展:
由于MySqL和DB2的数据库没装,就不去测试,现在把相关学习网址附上。
分享到:
相关推荐
substring操作的字符串,开始截取的位置,返回的字符个数,本文通过简单实例给大家介绍了SqlServer数据库中Substring函数的用法,感兴趣的朋友一起看看吧
oracle中 substring函数的使用
5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL...
5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL...
5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL...
5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL...
5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL...
5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL...
5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL...
C# 保存文件到数据库字段 attach new BusAttach ; FileInfo fi new FileInfo txtAttach Text Trim ; attach Fix fi Extension Substring 1 ToLower Trim ; FileStream fs fi OpenRead ; byte[] bytes new byte[fs ...
SET @YXM = SUBSTRING(@XM,0,@COUNT) UPDATE JCXX SET XM = @YXM WHERE ID = @ID PRINT @YXM END FETCH NEXT FROM XM_Cursor into @XM,@ID END close XM_Cursor ...
CharIndex获取字符在字符串中出现的位置 Len函数获取字符串字节长度(中英数都是1字节) Right右截取字符串函数 SubString中间截取字符串函数 Left左截取字符串函数 stuff指定位置插入字符串、删掉字符串函数 查看...
数据库操作语句大全(sql) 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_...
利用影射,通过查询数据库里的方法名称,来调用方法 SqlConnection conn = new SqlConnection("server=.;uid =sa;pwd=;database=;"); string str = "select * from [KeyWord] where id='1'"; conn.Open(); ...
datalength(Char_expr) 返回字符串包含字符数,...substring(expression,start,length) 不多说了,取子串 right(char_expr,int_expr) 返回字符串右边int_expr个字符 concat(str1,str2,...)返回来自于参数连结的字符串。
2、 Find the names of all customers whose street includes the substring “Main”. 3、Find all customers who have a loan, an account, or both: 4、Find all customers who have both a loan and an account....
--3.字符串函数 ascii(), 将字符转换为ASCII码, ASCII("abc") = 97 ...stuff(), SELECT STUFF("abcdef", 2, 3, "ijklmn") ="aijklmnef", 2是开始位置,3是要从原来串中删除的字符长度,ijlmn是要插入的字符串。