簡體   English   中英

如何從列中獲取特定部分字符串

[英]How to get specific part string from column

我有兩張桌子,一張是 SifraArtikla

ID PuniNaziv
1  M-bus centrala tip MASTER PW60 sa adapterom
2  M-bus centrala tip MASTER PW120 sa adapterom
3  M-bus centrala tip MASTER PW250 sa adapterom

第二張表ArtikalUsluge擴展了SifraArtikla ID

Id ArtikalID
1  2 

我需要從 PuniNaziv 列 'PW60' 如果 ArtikalID 是 1 否則如果 ID 是 2 'PW120' 否則如果 ID 是 3 'pw250' 我嘗試使用 if else 語句但它沒有用。 誰能給我一些提示。

DECLARE @OznakaCentrale NCHAR
SET @OznakaCentrale = 'PW%'
IF(@OznakaCentrale == SifreArtikala.PuniNaziv)
SELECT SifreArtikala.PuniNaziv AS NazivCentrale FROM SifreArtikala
INNER JOIN ArtikliUslugeNaloga ON ArtikliUslugeNaloga.Artikal1Id = SifreArtikala.Id

這就是我想要達到的目標

Id NazivCentrale
    
 1  PW60
 2  PW120
 3  PW250

您可以使用基本字符串函數將值標識為文本MASTERsa之間。 然后,連接兩個表以限制為僅第一個表中要從中提取文本的ID值。

SELECT
    sa.ID,
    SUBSTRING(sa.PuniNaziv,
              CHARINDEX('MASTER', sa.PuniNaziv) + 7,
              CHARINDEX('sa', sa.PuniNaziv) - CHARINDEX('MASTER', sa.PuniNaziv) - 8) AS P_ID
FROM SifraArtikla sa
INNER JOIN ArtikalUsluge au
    ON au.ArtikalID = sa.ID

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM