la compatibilité de la Requête pour to_number()
Dans cette requête à l'aide de to_number()
dans oracle. Comment écrire la compatibilité de requête pour oracle et les bases de données mysql.
SELECT col1 FROM table WHERE condition ORDER BY TO_NUMBER(col2);
Ici col2
est varchar2
type de données. Supposons que j'ai été utilisé ORDER BY
commande dans cette requête doit utiliser la fonction de conversion-je.e to_number(col2)
,cette fonction n'est pas disponible dans mysql.merci donc de donner la bonne solution pour le problème ci-dessus
Vous devez vous connecter pour publier un commentaire.
Créer une fonction personnalisée dans votre base mysql avec le nom
to_number
qui prend en paramètre et retourne un entier .Vous pouvez ensuite utiliser
cast
fonction à l'intérieur de votre fonction personnaliséeDELIMITER $$
DROP FUNCTION IF EXISTS to_number$$
CREATE FUNCTION to_number (number VARCHAR(10)) RETURNS INT (11)
BEGIN
RETURN (CAST(number AS SIGNED));
END$$
DELIMITER ;
Cela va créer un custom/fonction définie par utilisateur avec to_number que le nom
Ensuite, vous pouvez utiliser votre requête à la fois dans oracle et mysql
Vous pouvez le faire avec des acteurs
SQL Violon lien
Pour plus d'info : http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html