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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    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
    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

  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
    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 expérimenté
    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
    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.

  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
    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