[英]Substring of a Substring
我在SQL Server 2008中有一個文本字段(在“Employs”表中名為“BiographyText”的字段),它存儲KPI目標數字:
rebfirst60,
reifirst1.3,
retfirst50
第一個目標是60,對於RebFirst,第二個目標是ReiFirst為1.3,第三個為RetFirst為50。
我希望能夠返回3個不同的數值,因為這些數值將被視為某個員工每個kpi的目標。
我有一個完整的思維模塊試圖找出最好的方法,任何建議/幫助?
總的來說,我試圖找到kpiname(“rebfirst”),然后檢索接下來的2個字符/數字
我嘗試了以下內容,但它在第一個子字符串的函數2上出錯,因為它是非數字的:
select SUBSTRING(biographytext,SUBSTRING('rebfirst',1,2),2) from employs
謝謝
嘗試這個
SELECT
CASE WHEN PatIndex('%[a-z]%',REVERSE(BiographyText)) > 0
THEN RIGHT(BiographyText,PatIndex('%[a-z]%',REVERSE(BiographyText))-1)
ELSE '' END AS target
FROM employs
從郵報第一個目標是60,對於RebFirst,第二個目標是ReiFirst為1.3,第三個為RetFirst為50。
從評論我不需要從這個值的實際kpiname
以下Query
將為您提供答案。
select case column_name when 'rebfirst60' then 60
when 'reifirst1.3' then 1.3
when 'retfirst50' then 50
from employs
我現在使用以下內容:
select
SUBSTRING(SUBSTRING(biographytext,1,10),9,2) as RebookingFirst,
SUBSTRING(SUBSTRING(biographytext,11,20),12,3) as ReInventFirst,
SUBSTRING(SUBSTRING(biographytext,21,30),16,3) as ReCreateFirst,
SUBSTRING(SUBSTRING(biographytext,31,40),20,2) as RetentionFirst,
SUBSTRING(SUBSTRING(biographytext,41,50),23,2) as ReferralsFirst
from employs
這給了我每個kpi的結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.