在这个查询中使用的to_number()是oracle。如何编写oracle和mysql数据库的兼容性查询。
SELECT col1 FROM table WHERE condition ORDER BY TO_NUMBER(col2);
Run Code Online (Sandbox Code Playgroud)
这col2是varchar2数据类型。假设我在这个查询中使用ORDER BY命令必须使用转换函数,即to_number(col2),这个函数在mysql中不可用。所以请为上述问题给出正确的解决方案
在 mysql 数据库中创建一个自定义函数,to_number其名称采用相同的参数并返回 integer 。然后您可以在自定义函数中
使用函数cast
DELIMITER $$
DROP FUNCTION IF EXISTS to_number$$
CREATE FUNCTION to_number (number VARCHAR(10)) RETURNS INT (11)
BEGIN
RETURN (CAST(number AS SIGNED));
END$$
DELIMITER ;
这将创建一个以 to_number 作为名称的自定义/用户定义函数
然后您可以在 oracle 和 mysql 中使用您的查询
| 归档时间: |
|
| 查看次数: |
26846 次 |
| 最近记录: |