IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[SQL Server 2000] Le type varchar


Sujet :

MS SQL Server

  1. #1
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut [SQL Server 2000] Le type varchar
    info:
    -vb.net 1.1
    -asp.net
    -sql server 2000

    Bonjour,

    Voila je créé une applicationWeb.
    Dans des textboxs sont saisies des chaines de caracteres.
    Elles sont stockés dans une table avec comme type varchar.

    Par exemple: varchar(50)
    J'insere dedans la chaine de caractere : "miya" qui possede donc 4 caracteres.

    Le probleme c'est lorsque je recupere cette donnée inséré, je recupere miya + 46 caracteres blanc alors que je veux récupérer seulement ces 4caracteres.

    J'espere etre clair.

    Merci de votre aide.
    Cordialement

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Points : 502
    Points
    502
    Par défaut
    SQl Server est strictement Garbage In, Garbage Out.

    Premièrement, un varchar ne paddera pas la string avec des espaces vides à moins qu'il n'y lui ai été passé des expaces vides.

    Va dans SQL et fais une sélection en utilisant LEN(maString). Si la longueur est correcte, (ex 'chat' = 4), alors le problème se trouve en aval de la BD (middle ware, interface), sinon, le problème se trouve en amont (Interface, middle ware, DB management).

  3. #3
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Pour info, LEN() retournera 4 quoi qu'il en soit, il faut utiliser DATALENGTH()

    Démo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DECLARE @v1 varchar(50)
    DECLARE @v2 CHAR(50)
     
    SET @v1 = 'aaaa             '
    SET @v2 = 'aaaa'
     
    SELECT Len(@v1), Datalength(@v1)
    SELECT Len(@v2), Datalength(@v2)

Discussions similaires

  1. Question sur réplication SQL Server 2000 et type de champs
    Par ThomasD dans le forum Réplications
    Réponses: 2
    Dernier message: 27/10/2008, 18h55
  2. [Sql server 2000} Groupe By et champs de type image
    Par paradeofphp dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/04/2007, 23h29
  3. equivalent type d' access Sql Server 2000
    Par nabil1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/12/2006, 09h36
  4. [SQL SERVER 2000]taille et type des champs
    Par Franck2mars dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 09/05/2006, 11h59
  5. Type de données Oracle 9-10 et SQL Server 2000
    Par fabrice_bruxelles dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 05/10/2005, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo