webForumDet fria alternativet

Fylla på med tecken

Databaser & SQL

5 svar · 565 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej,

Kan man i en sql-fråga göra följande:

1 --> 0001
21 --> 0021
234 --> 0234
2345 --> 2345

Dvs att det skall fyllas på med nollor innan. Dvs att det skall alltid vara 4 siffror?

i vb-script, skulle det ju kunna se ut så här:

function PadDigits(n, totalDigits)

                             dim pd
                             dim i
                             n = CStr(n)
                             pd = ""
                             i = 0
                             if (totalDigits > len(n)) then
                                                          Do While i < (totalDigits-len(n))
                                                                                       pd = pd & "0"
                                                                                       i = i + 1
                                                          loop
                             end if
                             PadDigits = pd & n

end function
Medlem sedan juni 20019 519 inlägg
#2

I VB hade jag gjort:

Function PadDigits(n, totalDigets)
    PadDigits = Right("000000000000000000000" & n, totalDigets)
End Function

Och samma sak bör du kunna köra med SQL, du skriver inte vilken databas du kör mot.

Medlem sedan jan. 2005953 inlägg
#3

I MySQL kan du sätta datatypen till INT(4) ZEROFILL. Jag vet inte om det finns några motsvarigheter i övriga SQL-varianter.

Medlem sedan jan. 20013 582 inlägg
#4

Sorry, MSSQL

Mvh
henrik

Medlem sedan juni 20019 519 inlägg
#5

RIGHT() fungera för dig då: http://msdn.microsoft.com/en-us/library/ms177532.aspx

Medlem sedan jan. 20013 582 inlägg
#6

Tack för hjälpen!

Så här fick det bli:

update tblArticle set Modified = GETDATE(), Nr = RIGHT('00000' + Nr, 4)

Mvh
Henrik

271 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
139 ms — ändringar (db)