① sql 取欄位中的部分數據
declare @t table(col1 varchar(10))
insert into @t
select '0.2g*6' union
select '2ml*10' union
select '20mg*20'
select col1,
SUBSTRING(col1,0,CHARINDEX('*',col1)) '*前',
substring(col1,0,patindex('%[a-z]%',col1)) '數字'
from @t
----
(3 row(s) affected)
col1 *前 數字
---------- ---------- ----------
0.2g*6 0.2g 0.2
20mg*20 20mg 20
2ml*10 2ml 2
(3 row(s) affected)
② sql 提取欄位某位內容
Select
substring
(欄位,5,6)
可以提取欄位內
5-10位的內容
但如果欄位值長度本身不足5位,就取不到了
③ 跪求各位大俠!怎樣提取sql欄位存儲的字元串中的單個字元
我這里由一個存儲過程可以把逗號前面第一個詞取出來,你用個循環就可以把所有的都取出來了
CREATE
PROCEDURE
PopFirstWord
@SourceString
NVARCHAR(4000)
=
NULL
OUTPUT,
@FirstWord
NVARCHAR(4000)
=
NULL
OUTPUT
AS
SET
NOCOUNT
ON
DECLARE
@Oldword
NVARCHAR(4000)
DECLARE
@Length
INT
DECLARE
@CommaLocation
INT
SELECT
@Oldword
=
@SourceString
IF
NOT
@Oldword
IS
NULL
BEGIN
SELECT
@CommaLocation
=
CHARINDEX(',',@Oldword)
SELECT
@Length
=
DATALENGTH(@Oldword)
IF
@CommaLocation
=
0
BEGIN
SELECT
@FirstWord
=
@Oldword
SELECT
@SourceString
=
NULL
RETURN
0
END
SELECT
@FirstWord
=
SUBSTRING(@Oldword,
1,
@CommaLocation
-1)
SELECT
@SourceString
=
SUBSTRING(@Oldword,
@CommaLocation
+
1,
@Length
-
@CommaLocation)
RETURN
@Length
-
@CommaLocation
END
RETURN
0
④ 查詢資料庫中某個欄位的sql語句怎麼寫
1、在計算機中,打開Oracle的連接程序,用新建的資料庫管理員,進入【Oracle控制】的窗口上,滑鼠左鍵單擊【伺服器】按鈕,並選擇【SQL工作表】,如下圖所示。
⑤ sql 如何截取一個欄位里某一字元串中間的字元
--這個查詢需要注意的是qwer後的需要查詢的字元串必須是一個空格,不能有的是一個空格有的是兩個。也就是格式要固定。
--定義參數
create table #a (string varchar(max))
declare @sql varchar(max)
declare @a varchar(max)
select @a ='asdf qwer zxcv 1234 qwer yuchor 3452 qwer abcd 7893'--這個是要查詢的字元串
---------------------------查詢qwer後面的字元串----------------------------------------
while charindex('qwer',@a)<>0
begin
select @a=SUBSTRING ( @a,charindex('qwer',@a)+5,LEN(@a)-charindex('qwer',@a)-4)
insert into #a values (@a)
end
select SUBSTRING (LTRIM ( string) ,1,charindex(' ',LTRIM ( string))) as result from #a
--查詢結果
result
zxcv
yuchor
abcd
⑥ sql 提取欄位某位內容
substring(欄位,5,10-5+1)
建議你看看sql的幫助。
語法
SUBSTRING ( value_expression ,start_expression , length_expression )
參數
字詞
定義
value_expression
是 character、binary、text、ntext 或 image 表達式。
start_expression
指定返回字元的起始位置的整數或 bigint 表達式。如果 start_expression 小於 0,會生成錯誤並終止語句。如果 start_expression 大於值表達式中的字元數,將返回一個零長度的表達式。
length_expression
是正整數或指定要返回的 value_expression 的字元數的 bigint 表達式。如果 length_expression 是負數,會生成錯誤並終止語句。如果 start_expression 與 length_expression 的總和大於 value_expression 中的字元數,則返回整個值表達式。
⑦ SQL 怎麼取到某欄位內的部分
語句:
select substr(oid,instr(oid,'.')+1,(instr(oid,'.',1,2)-instr(oid,'.')-1) from table1;
函數:
1.INSTR(C1,C2,I,J)
在一個字元串中搜索指定的字元,返回發現指定的字元的位置;
C1 被搜索的字元串
C2 希望搜索的字元串
I 搜索的開始位置,默認為1
J 出現的位置,默認為1
SQL> select instr('oracle traning','ra',1,2) instring from al;
INSTRING
---------------------------------------
9
2.SUBSTR(string,start,count)
取子字元串,從start開始,取count個
SQL> select substr('13088888888',3,8) from al;
SUBSTR('
-------------------------------------
08888888
⑧ SQL語句如何取出一個欄位中值
oracle用substr(原字元串,起始位置,[截取長度])和instr(原字元串,查找字元串,[起始位置],[第n個])函數,[]內的是可選參數
mysql用substring和instr()函數
大概思路是截取原字元串,從(開始,到)結束,
用instr定位(和),用substr截取
比如原字元串在變數str中
以oracle為例:substr(str,instr(str,'('),instr(str,')')-instr(str,'('))
⑨ 如何從sql欄位里提取字元串
CHARINDEX函數返回字元或者字元串在另一個字元串中的起始位置。CHARINDEX函數調用方法如下:
CHARINDEX ( expression1 , expression2 [ , start_location ] )
Expression1是要到expression2中尋找的字元中,start_location是CHARINDEX函數開始在expression2中找expression1的位置。