Hej, Då är väl fältet i tabellen numeriskt, och kan inte hålla en noll som första tecken om det inte följs av en decimalavgränsare. Databasfältet borde i detta fall vara av typen varchar eller liknande istället. Det lätaste sättet att lösa det: Jag förstår inte riktigt vad som händer, Jag antar att du skriver en "stored procedure" eftersom du anger att datatypen är "varchar". declare @stnNummer numeric kan ingenting om sånt här men borde det inte vara detta som är problemet: Mycket riktigt Arathorn, Jag hittade lösningen, man måste skriva hur många tecken variabeln ska hålla, alltså varchar(6) t ex.SQL server - Inledande nolla
Har ett litet problem, när jag ska läsa in ett värde i en variabel ifrån en tabell så kommer inte första siffran med om det är en "0:a".
Detta blir problem för mig eftersom jag ska utföra en beräkning på talet, likadant som när man räknar ut kontrollsiffran i ett personnummer.
Är det någon som vet hur detta fungerar?
/MickeSv: SQL server - Inledande nolla
En nödlösning om du inte kan ändra fältets datatyp kan vara att kolla längden på innehållet om den är fixerad (som vid t ex personnr) och om då det du får ut utan inledande nolla är ett tecken för kort kan du i efterhand lägga på en nolla.
/henrikSv: SQL server - Inledande nolla
<code>
Dim strPersonNr as String
strPersonNr = Right("0000000000" & rs("PersonNr"), 10)
</code>Sv: SQL server - Inledande nolla
Fältet är av typen "varchar", värdet i fältet är "01296". När jag kör en vanlig select mot tabellen så är värdet "01296" och när jag kollar antal tecken i fältet mha "len" så svarar den "5". Allting OK
När jag däremot skickar in värdet i en variabel av typen "varchar" så blir svaret "1296" och antal tecken "4".
Vad gör egentligen variabeln?
/MickeSv: SQL server - Inledande nolla
Hur ser din kod ut???
Ditt problem låter vädigt lurigt måste jag säga.. Hur ser deklarationen av varchar variabeln ut???
/TommieSv: SQL server - Inledande nolla
select @stnNummer = nytt_nummer from test3 where [XXXXXX] = 'xxxxx'
select @stnNummer
här blir svaret 1296
Fråga direkt mot tabellen:
select nytt_stnnr, len(nytt_stnnr) from test3 where [XXXXXX] = 'xxxxx'
Här blir svaret: 01296, 5
Fattar ingenting.
/MickeSv: SQL server - Inledande nolla
declare @stnNummer <b>numeric</b>
du borde väl ha typ: declare @stnNummer varchar eller hur man nu skriverSv: SQL server - Inledande nolla
numeric är inte en sträng.
Du måste deklarera variabeln som varchar eller char.
/TommieSv: SQL server - Inledande nolla
Tack för hjälpen tidigare.
/Micke