Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/09/2011, 11h35   #1
Membre du Club
 
Inscription : juillet 2002
Messages : 156
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 156
Points : 40
Points : 40
Envoyer un message via MSN à foxrol
Par défaut Convertion sous sql server

Bonjour à tous,

j'ai un problème car dans une des mes tables, j'ai un champ object ID dont les valeurs sont:

Code :
1
2
3
4
5
6
7
X'010500000000000515000000bec1f59cebf62008b03acbe486040000',
X'010500000000000515000000bec1f59cebf62008b03acbe462040000',
X'010500000000000515000000bec1f59cebf62008b03acbe4eb0a0000',
X'010500000000000515000000bec1f59cebf62008b03acbe40f050000',
X'010500000000000515000000bec1f59cebf62008b03acbe4a3040000',
X'010500000000000515000000bec1f59cebf62008b03acbe49a050000',
X'010500000000000515000000bec1f59cebf62008b03acbe47a040000'
J'aimerais convertir ces valeurs en bigint. Mais quand j'écris:

Code :
cast(objectID AS bigint)
, j'ai un message d'erreur.

ALors comment faire pour convertir ces données en bigint.

Merci.
foxrol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 12h08   #2
Candidat au titre de Membre du Club
 
Homme Arnaud
Étudiant
Inscription : mars 2011
Messages : 60
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 60
Points : 11
Points : 11
Si je dis pas de bêtise, les valeurs que tu souhaites convertir en BIGINT ne peuvent pas l'être car il y a des caractère alphabétiques...

En l'occurence le bigint est un :

"Types de données représentant des valeurs numériques exactes qui utilisent des entiers."

Or la chaine "010500000000000515000000bec1f59cebf62008b03acbe486040000'" par exemple n'est pas point entièrement numérique.

Pourquoi veux-tu absolument convertir au format bigint ?
bibouex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 14h41   #3
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 062
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 33
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Chef de projets Générix
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2010
Messages : 1 062
Points : 1 515
Points : 1 515
C'est de l'hexa.

Mais vu la longueur du nombre (en héxa !) ça risque d'être un peu complexe pour le passer en bigint...

Longueur de ta chaîne : 56 chiffres exa, soit, une fois converti en octets, fait 28 octets... soit 224 bits !

Un bigint, c'est 8 octets, soit... 64 bits !

Donc oublie tout de suite le bigint, outre les difficultés que tu auras pour le convertir
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 18h52   #4
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
D'ou proviennent ces valeurs?
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 14h36   #5
Membre du Club
 
Inscription : juillet 2002
Messages : 156
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 156
Points : 40
Points : 40
Envoyer un message via MSN à foxrol
Ces valeurs proviennent d'un annuaire dans lequel est stoké des informations sur des utilisateurs. Mais bon je vais procéder autrement pour avoir les identifiants des utilisateurs.

merci à tous.
foxrol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 17h17   #6
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 669
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 669
Points : 8 729
Points : 8 729
Bonjour,

Il faudrait surtout savoir sous quel type ces valeurs sont stockées ...
(var)binary ?

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h16.


 
 
 
 
Partenaires

Hébergement Web