我有一個奇怪的情況。我必須在Oracle和MySQL中使用NVL(columna,columnb)。我無法更改SQL,因爲它是我無法編輯的軟件包,但它是唯一不適用於MySQL和Oracle之間的應用程序。mysql函數提供相當於Oracle的NVL
我將如何在MySQL中編寫NVL()。我在這裏看過(http://dev.mysql.com/doc/refman/5.0/en/create-function-udf.html),看起來我必須用C編寫它並將其鏈接到MySQL。
但是http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html似乎說我可以在不編譯附加的情況下做到這一點。
我試過這個,但它不起作用。 我做錯了什麼?
CREATE FUNCTION NVL (first DATETIME, second DATETIME)
RETURNS DATETIME
begin
DECLARE first DATETIME;
DECLARE second DATETIME;
DECLARE return_value DATETIME;
SET return_value = IFNULL(first,second);
RETURN return_value;
end
這是爆炸! – 2009-08-04 15:01:32