SQL截取字段字符串的方法
set @str=‘WX15-53-H-53-99-15-335-23’;
select @str as '字符串'
select len(@str) as '字符長度'
select charindex('-',@str,1) as '第一個逗號的索引值'
select LEFT(@str,charindex('-',@str,1)-1) as '第一個值'
select SUBSTRING(@str,charindex('-',@str,1)+1,len(@str)) as '從第一逗號開始截取出后面的字符串'
select LEFT(SUBSTRING(@str,charindex('-',@str,1)+1,len(@str)),CHARINDEX('-',SUBSTRING(@str,charindex('-',@str,1)+1,len(@str)),1)-1) as '中間的值'
select SUBSTRING(SUBSTRING(@str,charindex('-',@str,1)+1,len(@str)),charindex('-',SUBSTRING(@str,charindex('-',@str,1)+1,len(@str)),1)+1,len(@str)) as '第2個-后面的值’
select SUBSTRING(SUBSTRING(@str,charindex('-',@str,2)+1,len(@str)),charindex('-',SUBSTRING(@str,charindex('-',@str,2)+1,len(@str)),2)+1,len(@str)) as '第2個-后面的值’
select SUBSTRING(SUBSTRING(@str,charindex('-',@str,6)+1,len(@str)),charindex('-',SUBSTRING(@str,charindex('-',@str,6)+1,len(@str)),6)+1,len(@str)) as '第5個-后面的值’
以此類推 取出的值為:15-335-23
select SUBSTRING('23*2*3',charindex('*','23*2*3')-2,2)
select charindex('*','223*332*3',1)
select LEFT('223*2*3',charindex('*','223*2*3',1)-1)
select LEFT('223*332*3',charindex('*','223*332*3',1)+1,charindex('*','223*332*3',1)-1)
declare @str varchar(50)
set @str='223*3325*3444'
select LEFT(SUBSTRING(@str,charindex('*',@str,1)+1,len(@str)),CHARINDEX('*',SUBSTRING(@str,charindex('*',@str,1)+1,len(@str)),1)-1) as '中間的值'
select SUBSTRING(SUBSTRING(@str,charindex('*',@str,1)+1,len(@str)),charindex('*',SUBSTRING(@str,charindex('*',@str,1)+1,len(@str)),1)+1,len(@str)) as '第2個-后面的值'
multiply
select b.goods,b.one_cat,b.number,b.Goods_unit_price,b.Goods_sum_price,b.dd_size,
convert(decimal(10,2),convert(decimal(10,2),LEFT(b.dd_size,charindex('*',b.dd_size,1)-1))*convert(decimal(10,2),LEFT(SUBSTRING(b.dd_size,charindex('*',b.dd_size,1)+1,len(b.dd_size)),CHARINDEX('*',SUBSTRING(b.dd_size,charindex('*',b.dd_size,1)+1,len(b.dd_size)),1)-1))*convert(decimal(10,2),SUBSTRING(SUBSTRING(b.dd_size,charindex('*',b.dd_size,1)+1,len(b.dd_size)),charindex('*',SUBSTRING(b.dd_size,charindex('*',b.dd_size,1)+1,len(b.dd_size)),1)+1,len(b.dd_size)))),
convert(decimal(10,2),LEFT(b.dd_size,charindex('*',b.dd_size,1)-1))
,convert(decimal(10,2),LEFT(SUBSTRING(b.dd_size,charindex('*',b.dd_size,1)+1,len(b.dd_size)),CHARINDEX('*',SUBSTRING(b.dd_size,charindex('*',b.dd_size,1)+1,len(b.dd_size)),1)-1))
,convert(decimal(10,2),SUBSTRING(SUBSTRING(b.dd_size,charindex('*',b.dd_size,1)+1,len(b.dd_size)),charindex('*',SUBSTRING(b.dd_size,charindex('*',b.dd_size,1)+1,len(b.dd_size)),1)+1,len(b.dd_size)))
from pmw_packInfo p left join pmw_billcode b on p.goodsID=b.goodsID
總結
以上是生活随笔為你收集整理的SQL截取字段字符串的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么牌子的平板电脑好_台式电脑哪个牌子好
- 下一篇: 电脑硬盘是干什么用的_电脑存储空间不够用