Bonjour,
J'ai 3 champs numériques que je veux concaténer pour former une chaine :
ex : 1;10;4 doit devenir '011004'
Je ne trouve pas dans transact_sql de fonction du type
format([monChamp],'00')
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
WonderMan
BrunoSCP a écrit :
Bonjour, J'ai 3 champs numériques que je veux concaténer pour former une chaine : ex : 1;10;4 doit devenir '011004' Je ne trouve pas dans transact_sql de fonction du type format([monChamp],'00')
Merci pour votre aide
Utilisez CAST ou CONVERT et la concaténation avec l'opérateur + .
CAST et CONVERT proposent des options de style lors de la conversion, et si ça ne suffit pas, vous pourrez surement faire le reste "à la main" (comme on dit).
Bonjour,
J'ai 3 champs numériques que je veux concaténer pour former une chaine :
ex : 1;10;4 doit devenir '011004'
Je ne trouve pas dans transact_sql de fonction du type
format([monChamp],'00')
Merci pour votre aide
Utilisez CAST ou CONVERT et la concaténation avec l'opérateur + .
CAST et CONVERT proposent des options de style lors de la conversion,
et si ça ne suffit pas, vous pourrez surement faire le reste "à la
main" (comme on dit).
Bonjour, J'ai 3 champs numériques que je veux concaténer pour former une chaine : ex : 1;10;4 doit devenir '011004' Je ne trouve pas dans transact_sql de fonction du type format([monChamp],'00')
Merci pour votre aide
Utilisez CAST ou CONVERT et la concaténation avec l'opérateur + .
CAST et CONVERT proposent des options de style lors de la conversion, et si ça ne suffit pas, vous pourrez surement faire le reste "à la main" (comme on dit).
Bonjour, J'ai 3 champs numériques que je veux concaténer pour former une chaine : ex : 1;10;4 doit devenir '011004' Je ne trouve pas dans transact_sql de fonction du type format([monChamp],'00')
Merci pour votre aide
REPLACE(macolonne, ';', '0')
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
BrunoSCP a écrit :
Bonjour,
J'ai 3 champs numériques que je veux concaténer pour former une chaine :
ex : 1;10;4 doit devenir '011004'
Je ne trouve pas dans transact_sql de fonction du type
format([monChamp],'00')
Merci pour votre aide
REPLACE(macolonne, ';', '0')
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Bonjour, J'ai 3 champs numériques que je veux concaténer pour former une chaine : ex : 1;10;4 doit devenir '011004' Je ne trouve pas dans transact_sql de fonction du type format([monChamp],'00')
Merci pour votre aide
REPLACE(macolonne, ';', '0')
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
BrunoSCP
Merci, Je n'ai pas trouvé de style correspondant à mon besoin dans les instructions cast et convert
Finalement j'ai utilisé le cast avec l'astuce suivante : right('00' + Cast(MaColonne1 as varchar(2)),2) + right('00' + Cast(MaColonne2 as varchar(2)),2) + .....
ce qui est un peu mieux que ce que j'avais fait en première mouture : (case when MaColonne1 < 10 then '0' + cast(MaColonne1 as char(1)) else cast(MaColonne1 as char(2)) end ) + ...
Mais bon, si quelqu'un connait le code de style qui va bien, ça aurait plus de gueule cast(MaColonne1, leBonStyle) + cast(MaColonne2, leBonStyle)
"WonderMan" a écrit dans le message de news:
BrunoSCP a écrit :
Bonjour, J'ai 3 champs numériques que je veux concaténer pour former une chaine : ex : 1;10;4 doit devenir '011004' Je ne trouve pas dans transact_sql de fonction du type format([monChamp],'00')
Merci pour votre aide
Utilisez CAST ou CONVERT et la concaténation avec l'opérateur + .
CAST et CONVERT proposent des options de style lors de la conversion, et si ça ne suffit pas, vous pourrez surement faire le reste "à la main" (comme on dit).
Merci,
Je n'ai pas trouvé de style correspondant à mon besoin dans les instructions
cast et convert
Finalement j'ai utilisé le cast avec l'astuce suivante :
right('00' + Cast(MaColonne1 as varchar(2)),2) + right('00' +
Cast(MaColonne2 as varchar(2)),2) + .....
ce qui est un peu mieux que ce que j'avais fait en première mouture :
(case when MaColonne1 < 10 then '0' + cast(MaColonne1 as char(1)) else
cast(MaColonne1 as char(2)) end ) + ...
Mais bon, si quelqu'un connait le code de style qui va bien, ça aurait plus
de gueule
cast(MaColonne1, leBonStyle) + cast(MaColonne2, leBonStyle)
"WonderMan" <none@none.com> a écrit dans le message de news:
mn.bc667d8559efa6fe.88081@none.com...
BrunoSCP a écrit :
Bonjour,
J'ai 3 champs numériques que je veux concaténer pour former une chaine :
ex : 1;10;4 doit devenir '011004'
Je ne trouve pas dans transact_sql de fonction du type
format([monChamp],'00')
Merci pour votre aide
Utilisez CAST ou CONVERT et la concaténation avec l'opérateur + .
CAST et CONVERT proposent des options de style lors de la conversion, et
si ça ne suffit pas, vous pourrez surement faire le reste "à la main"
(comme on dit).
Merci, Je n'ai pas trouvé de style correspondant à mon besoin dans les instructions cast et convert
Finalement j'ai utilisé le cast avec l'astuce suivante : right('00' + Cast(MaColonne1 as varchar(2)),2) + right('00' + Cast(MaColonne2 as varchar(2)),2) + .....
ce qui est un peu mieux que ce que j'avais fait en première mouture : (case when MaColonne1 < 10 then '0' + cast(MaColonne1 as char(1)) else cast(MaColonne1 as char(2)) end ) + ...
Mais bon, si quelqu'un connait le code de style qui va bien, ça aurait plus de gueule cast(MaColonne1, leBonStyle) + cast(MaColonne2, leBonStyle)
"WonderMan" a écrit dans le message de news:
BrunoSCP a écrit :
Bonjour, J'ai 3 champs numériques que je veux concaténer pour former une chaine : ex : 1;10;4 doit devenir '011004' Je ne trouve pas dans transact_sql de fonction du type format([monChamp],'00')
Merci pour votre aide
Utilisez CAST ou CONVERT et la concaténation avec l'opérateur + .
CAST et CONVERT proposent des options de style lors de la conversion, et si ça ne suffit pas, vous pourrez surement faire le reste "à la main" (comme on dit).
L'art de poser une question est difficile. Je me suis mal expliqué, mes ";" representaient des colonnes de ma table. Merci quand même
"Fred BROUARD" a écrit dans le message de news:
BrunoSCP a écrit :
Bonjour, J'ai 3 champs numériques que je veux concaténer pour former une chaine : ex : 1;10;4 doit devenir '011004' Je ne trouve pas dans transact_sql de fonction du type format([monChamp],'00')
Merci pour votre aide
REPLACE(macolonne, ';', '0')
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
L'art de poser une question est difficile.
Je me suis mal expliqué, mes ";" representaient des colonnes de ma table.
Merci quand même
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de news:
uBRRSZRvIHA.5244@TK2MSFTNGP02.phx.gbl...
BrunoSCP a écrit :
Bonjour,
J'ai 3 champs numériques que je veux concaténer pour former une chaine :
ex : 1;10;4 doit devenir '011004'
Je ne trouve pas dans transact_sql de fonction du type
format([monChamp],'00')
Merci pour votre aide
REPLACE(macolonne, ';', '0')
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
L'art de poser une question est difficile. Je me suis mal expliqué, mes ";" representaient des colonnes de ma table. Merci quand même
"Fred BROUARD" a écrit dans le message de news:
BrunoSCP a écrit :
Bonjour, J'ai 3 champs numériques que je veux concaténer pour former une chaine : ex : 1;10;4 doit devenir '011004' Je ne trouve pas dans transact_sql de fonction du type format([monChamp],'00')
Merci pour votre aide
REPLACE(macolonne, ';', '0')
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
helios services
Fred BROUARD a écrit :
BrunoSCP a écrit :
Bonjour, J'ai 3 champs numériques que je veux concaténer pour former une chaine : ex : 1;10;4 doit devenir '011004' Je ne trouve pas dans transact_sql de fonction du type format([monChamp],'00')
Merci pour votre aide
REPLACE(macolonne, ';', '0')
A +
mais peut on faire confiance à quelqu'un qui prétends coder plus de 65536 valeurs sur 2 octets ?
-- Dr Thierry HOLZ HELIOS SERVICES 180 rue de la croix du chene 60250 HEILLES www.openqm.com02.net www.pick.com02.net
Fred BROUARD a écrit :
BrunoSCP a écrit :
Bonjour,
J'ai 3 champs numériques que je veux concaténer pour former une chaine :
ex : 1;10;4 doit devenir '011004'
Je ne trouve pas dans transact_sql de fonction du type
format([monChamp],'00')
Merci pour votre aide
REPLACE(macolonne, ';', '0')
A +
mais peut on faire confiance à quelqu'un qui prétends coder plus de
65536 valeurs sur 2 octets ?
Bonjour, J'ai 3 champs numériques que je veux concaténer pour former une chaine : ex : 1;10;4 doit devenir '011004' Je ne trouve pas dans transact_sql de fonction du type format([monChamp],'00')
Merci pour votre aide
REPLACE(macolonne, ';', '0')
A +
mais peut on faire confiance à quelqu'un qui prétends coder plus de 65536 valeurs sur 2 octets ?