Gå til innhold

Dele streng til array? - MS SQL


Anbefalte innlegg

Skrevet (endret)

Jeg skal order en verdi av denne typen, 1234_1 (id_index). Det blir ikke order riktig med tanke på 1234_. Tenker jeg burde fjerne den? Vet noen om en god løsning på dette?

 

Takk på forhånd :)

Endret av webliz
Videoannonse
Annonse
Skrevet

Noe slik du tenker på?
 

var s = "1234_1";
s = s.Replace("_", string.Empty);
// s har nå verdien "12341"

var a = s.Split(new [] { '_' });
// a[0] har nå verdien 1234
// a[1] har nå verdien 1
Skrevet

 

Noe slik du tenker på?

 

var s = "1234_1";
s = s.Replace("_", string.Empty);
// s har nå verdien "12341"

var a = s.Split(new [] { '_' });
// a[0] har nå verdien 1234
// a[1] har nå verdien 1

Takk for bidraget :) Men det er ikke SQL

Skrevet (endret)

Takk for bidraget :) Men det er ikke SQL

Jeg har heller ikke skrevet SQL, men C# ;)

 

Pseudo-C# da, da jeg ikke faktisk har kompilert dette men skrevet ut fra hukommelsen

Endret av GTHvidsten
Skrevet

Jeg har heller ikke skrevet SQL, men C# ;)

 

Pseudo-C# da, da jeg ikke faktisk har kompilert dette men skrevet ut fra hukommelsen

Om du leser trådtittelen, så var SQL jeg var ute etter. :) 

Skrevet (endret)

Hva du vil oppnå er litt uklart. Vil du sortere kolonnen stigende/synkende men understreken skaper problemer?

 

Jepp, understreken skaper problemer ja.

 

Fikk til med dette:

split = "SUBSTRING(" & coll & ", CHARINDEX('_', " & coll & ") + 1, LEN(" & coll & "))"
cast = "CAST(" & split & " AS int)"
check = "CASE WHEN " & coll & " LIKE '%_%' THEN " & cast & " ELSE " & coll & " END"
Endret av webliz

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...