La conversion de Boolean à Varchar2
J'ai un exemple de code où je suis en train d'imprimer une valeur Booléenne.
Il en est résulté d'erreur.
mauvais numéro ou les types d'arguments dans l'appel à "PUT_LINE'
mauvais numéro ou les types d'arguments dans l'appel à "TO_CHAR'
DECLARE
status BOOLEAN:= false;
BEGIN
DBMS_OUTPUT.PUT_LINE(status);
DBMS_OUTPUT.PUT_LINE(to_char(status));
END;
Par le message d'erreur il est clair que le Booléen ne peut pas être convertie de caractère dans les deux sens (implicite, explicite).
Pourquoi il n'est pas possible?
Est leurs raisons spécifiques? ou Oracle juste oublié de conversion de ce type(très peu probable).
L'est aussi de tout autre moyen de convertir? Ou dois-je aller pour IF
ou CASE
déclaration de deviner ce que status
.
Que doit faire un Booléen pour la conversion de chaîne? Devraient VRAI aller à 'TRUE', 'True', 'true', 'T', 't', 'OUI', 'Oui', 'oui', 'Y', 'y' ou peut-être il va, à un nombre de place: 1? En gros, c'est à l'individu de déterminer ce que la chaîne (ou de numéro!) la représentation d'un Booléen, car il peut varier selon le contexte.
Assurez-vous d'accepter les réponses si elles sont correctes 🙂
Assurez-vous d'accepter les réponses si elles sont correctes 🙂
OriginalL'auteur Narasimha Maiya | 2016-01-21
Vous devez vous connecter pour publier un commentaire.
Il semble que vous ne pouvez pas concat
varchar
etboolean
.Définir cette fonction:
et de l'utiliser comme ceci:
OriginalL'auteur Svperstar
Vous ne pouvez pas imprimer une variable booléenne. Pour cela, vous pouvez soit créer une fonction ou de l'utilisation de cas.
Dans Oracle SQL, il n'y a pas de type de données Booléen. Sa PL/SQL de type de données. Ce qui signifie que vous ne peut pas l'avoir comme type de données d'une colonne de table.
Peut-être parce que sa n'est pas ANSI.
OriginalL'auteur Nitish