Összetett kódok szétdarabolása


A minap az adattárház építése során a következő feladatot kellett megoldanom: szét kellett darabolnom egy kódot adott szeparátor mentén 3 különböző darabra, és azokat kitenni 3 különböző oszlopba. A kód így nézet ki:

'AA\BBB\CCCC'

Hogyan tudom mindezt egyszerűen megtenni? Hát a PARSENAME függvénnyel. Bár nem erre találták ki, de tökéletesen megoldható vele a probléma.

 

Declare @STR varchar(256)

Set @STR = 'AA\BBB\CCCC'

select
parsename(replace(@STR, '\', '.'), 3) as 'AA',
,parsename(replace(@STR, '\', '.'), 2) as 'BBB' ,
,parsename(replace(@STR, '\', '.'), 1) as 'CCCC'

Ezt a trükköt egy fórumban olvastam valamikor és megragadott az egyszerűsége. Szeretem az ilyen megoldásokat. Nincs ciklus, nincsenek agyonerőszakolt karakterfüggvények.

|

Ha tetszett, nézze meg a BI jegyzetek-et is

Szóljon hozzá!

Szabály: Legyen kedves, segítõkész és vállalja a nevét.
A mező tartalma nem nyilvános.
  • A web és email címek automatikusan linkekké alakulnak.
  • Engedélyezett HTML elemek: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • A sorokat és bekezdéseket automatikusan felismeri a rendszer.
ANTI SPAM
A robot regisztrációk elkerülésére.
Image CAPTCHA
Figyeljen a kis és nagybetűk használatára