Toon posts:

[sql server] Update met format() function

Pagina: 1
Acties:

Verwijderd

Topicstarter
He gasten,

Ik wil een heleboel records in een database updaten, het gaat om het veld membernumber. De membernumbers moeten lengte vier hebben. Wat betekent dat voorafgaand aan het getal 6 drie nullen moeten worden toegevoegd. Klein voorbeeldje:

6 --> 0006
26 --> 0026
260 --> 0260
2666 --> 2666

Dit wil ik fixen met die format functie(SQL Servert) maar krijg dat niet echt voor elkaar. Kan iemnad mij even helpen?
Thanx
-------------
UPDATE CompanyAssociations
SET MemberNumber = FORMAT(MemberNumber)
-------------

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
In MySQL heb je een optie "ZeroFill". Als SQL Server die ook kent, dan kun je gewoon dat veld die optie meegeven, verandert ie automagisch al je getallen.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
code:
1
2
UPDATE CompanyAssociations
SET MemberNumber = LEFT('0000',4- LEN(MemberNumber)) + MemberNummer


Let er wel op dat dit alleen werkt met een tekstveld, niet met een numeriek veld.

Overigens, waarom zou je dit willen? Kun je niet beter eventuele padding in je client applicatie doen?

[ Voor 24% gewijzigd door P_de_B op 17-12-2004 16:18 ]

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
He hartstikke bedankt! De topic kan dicht!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
P_de_B schreef op vrijdag 17 december 2004 @ 16:17:
code:
1
2
UPDATE CompanyAssociations
SET MemberNumber = LEFT('0000',4- LEN(MemberNumber)) + MemberNummer


Let er wel op dat dit alleen werkt met een tekstveld, niet met een numeriek veld.

Overigens, waarom zou je dit willen? Kun je niet beter eventuele padding in je client applicatie doen?
code:
1
2
UPDATE CompanyAssociations
SET MemberNumber = Right('0000' + MemberNummer,4)

Pruts0r :+ :Y) :>
Ik zou het overigens ook in mijn applicatie doen en niet in de DB. Ik vind het daar de plaats niet voor...

[ Voor 16% gewijzigd door RobIII op 17-12-2004 17:39 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Als je het al in je DB gooit, maak er dan een zerofill van, dat is wat constructiever dan zo'n ranzige query die alleen op text elementen werkt.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
RobIII schreef op vrijdag 17 december 2004 @ 17:38:
[...]

code:
1
2
UPDATE CompanyAssociations
SET MemberNumber = Right('0000' + MemberNummer,4)

Pruts0r :+ :Y) :>
Ik zou het overigens ook in mijn applicatie doen en niet in de DB. Ik vind het daar de plaats niet voor...
Mag ook :P
is zelfs iets efficienter
Grijze Vos schreef op vrijdag 17 december 2004 @ 17:56:
Als je het al in je DB gooit, maak er dan een zerofill van, dat is wat constructiever dan zo'n ranzige query die alleen op text elementen werkt.
SQL Server heeft niet zoiets :)

Oops! Google Chrome could not find www.rijks%20museum.nl

Pagina: 1