substringsqlserver
① sqlserver 按分隔符截取字符串
可以参考下面的代码:
selectsubstring('ADFASDFD(DASFADSFAS)',1,charindex('(','ADFASDFD(DASFADSFAS)')-1)
主要用到两个函数,一个charindex,这个是判断指定字符位置的函数。
另一个是substring,这个是截取字符串的函数。
(1)substringsqlserver扩展阅读:
sqlserver参考函数
upper(char_expr) 转为大写
lower(char_expr) 转为小写
space(int_expr) 生成int_expr个空格
reverse(char_expr) 反转字符串
stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从
② sqlserver里从最后截取字符串应该怎么写
用right函数截取,right('abc',1)取最后一个字符
③ substring格式的详细说明
SQL Server: SUBSTRING()
最常用到的方式如下 (在这里我们用SUBSTR()为例):
SUBSTR(str,pos): 由<str>中,选出所有从第<pos>位置开始的字符。请注意,这个语法不适用于SQL Server上。
SUBSTR(str,pos,len): 由<str>中的第<pos>位置开始,选出接下去的<len>个字符。
假设我们有以下的表格:
Geography 表格 region_name store_name
East Boston
East New York
West Los Angeles
West San Diego
例1:
SELECT SUBSTR(store_name, 3)
FROM Geography
WHERE store_name = 'Los Angeles';
结果:
's Angeles'
例2:
SELECT SUBSTR(store_name,2,4)
FROM Geography
WHERE store_name = 'San Diego';
结果:
'an D'
④ SqlServersubstring(expression,start,length)函数
1
2
Syntax
for
SUBSTRING:
SUBSTRING(expression,
start,
length)
expression
字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。
start
整数或可以隐式转换为int
的表达式,指定子字符串的开始位置。
length
整数或可以隐式转换为
int
的表达式,指定子字符串的长度。
例子:
1、起始位置为0,截取长度为3
?
1
select
substring(DWMC,0,3)
as
Sub,DWMC
as
DWMC
from
DW
where
DWNM='00010010'
结果:
2、起始位置为1,截取长度为3
?
1
select
substring(DWMC,1,3)
as
Sub,DWMC
as
DWMC
from
DW
where
DWNM='00010010'
结果:
3、起始位置为-1,截取长度为3
?
1
select
substring(DWMC,-1,3)
as
Sub,DWMC
as
DWMC
from
DW
where
DWNM='00010010'
结果:
4、起始位置为-2,截取长度为3
?
1
select
substring(DWMC,-2,3)
as
Sub,DWMC
as
DWMC
from
DW
where
DWNM='00010010'
结果:
5、起始位置为-9,截取长度为3
?
1
select
substring(DWMC,-9,3)
as
Sub,DWMC
as
DWMC
from
DW
where
DWNM='00010010'
结果:
通过上面的例子,可以看出substring的截取,类似于X坐标上截取绝对长度,而对于字符串而言,负数及零的位置都是空,真正有数的位置是从1开始的!
⑤ 从sqlserver数据库中提取日期,并把年月日分别截取出来
从sqlserver数据库中提取日期应该使用,并把年月日分别截取出来应该使用
数据库提供的时间函数。
1:使用year,month,day用来提取年月日
如:select
year(getdate()),month(getdate()),day(getdate())
2:使用DATEPART
获取年月日
如:select
DATEPART('year',getdate()),DATEPART('month',getdate()),DATEPART('day',getdate())
----------------------------------------------------------------------------
如果字段是varchar类型的话,可以先将字段转换为日期类型。
使用类型转换函数convert或者cast
如:cast('2015-07-14'
as
datetime)
⑥ substr在sqlserver中怎么使用
substring(字符串,开始位置,截取长度),substring('abcd',1,2)=bc
⑦ Sql Server中Substring函数的用法实例解析
SQL
中的
substring
函数是用来抓出一个栏位
资料
中的其中一部分。这个函数的
名称
在不同的
资料库
中不完全一样:
MySQL:
SUBSTR(
),
SUBSTRING(
)
Oracle:
SUBSTR(
)
SQL
Server:
SUBSTRING(
)
SQL
中的
substring
函数是用来截取一个栏位资料中的其中一部分。
例如,我们需要将
字符串
'abdcsef'中的‘abd'给提取出来,则可用substring
来实现:
select
substring('abdcsef',1,3)
结果:
'abd'
括号中数字‘1'表示截取的起始位置是从该字符串第一个字符开始,‘3'表示截取后得到的字符串
长度
为3个字符。
这是‘substring'最基础的
语法
,当然,我们的需求有时候会变得比较复杂,例如以下例子:
我们只想要得到'roomno'中的房间号,发现起始字符位置并不是固定的,而且,我们需要的房间号长度也不固定。
此时,我们可以运用‘charindex'这个函数就可以轻松搞定,它是用来定位某个特定字符在该字符串中的位置,即该函数
得到的结果是一个用来表示某个特定字符位置的数字。执行如下代码:
select
room_stand=substring(roomno,charindex('元',roomno)+1,charindex('室',roomno)-charindex('元',roomno)-1)
from
PROPERTY_room
where
roomno
like
'%
单元
%室%'
结果:
以上所述是小编给大家介绍的Sql
Server中Substring函数的
用法
实例
解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对
脚本之家
网站的支持!
⑧ SQL server 如何截取一个字符串中第2个'-'后面的字符
sql语句可以截取指定字段后面的字符串,以sqlserver为例,需要用到charindex函数和substring函数。
如test表中有如下数据,要求截图str字段中逗号后边的内容。
charindex函数说明:
语法:
CHARINDEX ( expression1 , expression2 , [ start_location ] )
参数:
expression1
一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。
start_location
在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。
substring函数说明:
语法:
substring( expression, start,length)
参数:expression字符串、二进制字符串、文本、图像、列或包含列的表达式start整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置length整数或可以隐式转换为 int 的表达式,指定子字符串的长度
⑨ sqlserver sbustring怎么用 详细点
在操作sqlserver时候用到了substring函数
SUBSTRING ( expression, start, length )
参数
expression
字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。
start
整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置。
length
整数或可以隐式转换为 int 的表达式,指定子字符串的长度(但是结果并补一个返回length字符长度,要看expression的长度和start的设置!!!!!!!!!!!)。
返回值
如果 expression 是一种支持的字符数据类型,则返回字符数据。如果 expression 是一种支持的二进制数据类型,则返回二进制数据。如果 start = 1,则子字符串从表达式的第一个字符开始
需要补充一句的是,开始start位置的设置,确实如果设置为1,会从第一个字符开始计数,2,3,4....以此类推、
select substring(zian,1,6)
将会选择字段的前6个字符,比如说是200908
如果设置为0,
同样的执行select substring(zian,0,6)
结果会是20090,如果换成-1
同样执行select substring(zian,-1,6)
结果会是2009
同样-2,-3,.................依次类推
下面是网络上的其它一些文章。
substring('98765',-1,3) 结果:9
substring('98765',0,3) 结果:98
substring('98765',1,3) 结果:987
关于函数的这种情况,找了点资料,但是仍不是很明白
SubString($sourceString ,$startingLoc,$length)
$sourceString
资源字符串。
$startingLoc
子字符串在资源字符串中的起点。如果此值为负数或 0,则只返回那些所在位置大于零的字符。如果此值大于 $sourceString 的长度,则返回长度为零的字符串。
$length
[可选] 要检索的字符数。如果没有指定此值,它将返回从 $startingLoc 中指定的位置开始直到字符串末尾的所有字符。
如果此值为负数或 0,则只返回那些所在位置大于零的字符。
⑩ subString的用法
bstring 有两种,一种在.net中,一种在SQL中。
SQL中:
substring("abcdefg",4,2)
返回的值为:ef
从字符串"abcdefg"中第4位开始取2位。
是.net中的:
第二个参数长度。
"abcdefg".substring(4,2)
返回的值为:ef
从字符串"abcdefg"中第4位开始取,取到第2位。
"abcdefg".substring(4)
返回:efg
从字符串"abcdefg"中第4位开始取,取到字符串的尾部。
public String substring(int beginIndex),一般用于返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。
CB用法
用途Returns the substring at the specified location within aStringobject.
用法举例
strVariable.substring(start, end)
"String Literal".substring(start, end)
用法说明:返回一个字串,其中start是起始的index,end是终止的index,返回的字串包含起始index的字符,但是不包含end的字符。这个是string类下的一个method。
以上内容参考:网络-substring