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