Gå til innhold

[Løst]Hente ut "fixed length" data i query...


Anbefalte innlegg

Skrevet

Jeg bruker MS sql, og SSIS for automatisering. En query trekker ut data som skrives til en Excel-rapport. Excel har en max limit pr celle på 4000 tegn, men av en eller annen grunn feiler queryen når jeg prøver å legge "00" foran organisasjonsnummer (gjøre om til 11 siffer i query)

 

SSIS påstår at følgende select produserer varchar(8000) ?

SELECT REPLICATE('0', 11 - DATALENGTH(k.orgnr)) + k.orgnr

 

Om jeg bare bruker "SELECT k.orgnr" så funker det fint. Hvorfor det?

Videoannonse
Annonse
Skrevet

Hvilken datatype bruker du i orgnr? varchar eller nvarchar? Varchar bruker en byte per tegn, mens nvarchar er unicode og benytter 2 bytes per tegn. datalenght vil returnere 3 for strenger "hei" hvis datatype er varchar, mens den vil returnere 6 for samme streng hvis datatype er nvarchar.

Skrevet

Original tabell er VARCHAR(12). Når jeg la inn :

CONVERT(VARCHAR(11), REPLICATE('0', 11 - DATALENGTH(k.orgnr)) + k.orgnr)

Så fungerte det...

 

Ser ut til at SSIS sliter med å hente ut datatype om man benytter string-manipulasjon i spørring.

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...