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.
5 svar · 565 visningar · startad av devotion
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
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.
I MySQL kan du sätta datatypen till INT(4) ZEROFILL. Jag vet inte om det finns några motsvarigheter i övriga SQL-varianter.
RIGHT() fungera för dig då: http://msdn.microsoft.com/en-us/library/ms177532.aspx
Tack för hjälpen!
Så här fick det bli:
update tblArticle set Modified = GETDATE(), Nr = RIGHT('00000' + Nr, 4)
Mvh
Henrik