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

 MySQL Discussion :

Caster CHAR en VARCHAR


Sujet :

MySQL

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Caster CHAR en VARCHAR
    Bonjour,
    J'essaye en MySql de caster un char en varchar :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	CAST('' AS VARCHAR) AS D5
    Cette instruction est pourtant compatible SQL et SqlServer, mais MySql la refuse : erreur de syntaxe.

    Y a-t-il une alternative ?

    Ou MySql est-il un langage trop limité pour cela ?
    Merci de votre aide
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par olibara Voir le message
    MySql est il un language trop limité pour cela ?
    Effectivement, vous ne pouvez pas transtyper vers du varchar avec MySQL
    Dans quel contexte essayez-vous de faire ça ?

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Bonjour Aieuuu,

    Je fais cela dans le cadre d'une requête cSharp ADO.
    Le but est de générer implicitement le type de colonne dans la datatable résultat en cSharp.

    Le même problème se pose aussi pour un booléen.

    En définitive, je contourne le problème en bricolant la datatable par programmation, mais c'est effectivement moins direct.
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Je ne connais pas de solution propre pour transtyper en VARCHAR sous MySQL

    Voici néanmoins d'autres solutions de contournement :

    1 / En faisant simplement un SELECT ' ' AS X, vous obtiendrez je crois une VARCHAR(1) au lieu d'un CHAR(0)

    2/ Vous pouvez créer une table vide contenant une colonne de type VARCHAR, puis faire un UNION ALL avec cette table dans vos requêtes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    CREATE TABLE Dummy (
    	VC50 varchar(50)
    );
     
    SELECT VC50 AS UneColonneVarchar50, LEFT(VC50, 20) AS UneColonneVarchar20 FROM dummy
    UNION ALL
    SELECT ''  , ''

Discussions similaires

  1. Char ou Varchar
    Par dominos dans le forum Débuter
    Réponses: 6
    Dernier message: 22/09/2011, 12h20
  2. Convertir CHAR to VARCHAR
    Par smaildba dans le forum Administration
    Réponses: 3
    Dernier message: 03/06/2009, 16h42
  3. Conversion CHAR en VARCHAR
    Par nathieb dans le forum SQL
    Réponses: 5
    Dernier message: 12/02/2009, 16h15
  4. [SQL 2K]"select in" entre char et varchar
    Par fredfred dans le forum Développement
    Réponses: 1
    Dernier message: 27/05/2008, 10h43

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