0
2つのパラメータを取り、case文に基づいて計算結果を返します(下記を参照してください)。これは私がこれまで試したものです関数内のSQLのcase文
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CASE when (medToConvert) = "Codeine" then MME = doseToConver' at line 13
:
/* Function that takes two parameters as input:
Dosage of an opioid
Name of the opioid
Returns the morphine equivalent dosage */
CREATE FUNCTION convertToMorphineEquiv (doseToConvert INT, medToConvert VARCHAR(20))
RETURNS INT
BEGIN
DECLARE MME INT
CASE
when (medToConvert) = "Codeine" then MME = doseToConvert * 0.15
-- Fentanyl Transdermal (in mcg/hr)
when (medToConvert) = "Fentanyl" then MME = doseToConvert * 2.4
when (medToConvert) = "Hydrocodone" then MME = doseToConvert * 1
when (medToConvert) = "Hydromorphone" then MME = doseToConvert * 4
when (medToConvert) = "Methadone" AND doseToConvert BETWEEN 1 AND 20 then MME = doseToConvert * 4
when (medToConvert) = "Methadone" AND doseToConvert BETWEEN 21 AND 40 then MME = doseToConvert * 8
when (medToConvert) = "Methadone" AND doseToConvert BETWEEN 41 AND 60 then MME = doseToConvert * 10
when (medToConvert) = "Methadone" AND doseToConvert >=60 then MME = doseToConvert * 12
when (medToConvert) = "Morphine" then MME = doseToConvert * 1
when (medToConvert) = "Oxycodone" then MME = doseToConvert * 1.5
when (medToConvert) = "Oxymorphone" then MME = doseToConvert * 3
when (medToConvert) = "Tapentadol" then MME = doseToConvert * 0.4
else "Conversion for this opioid is not available"
END
RETURN MME
END
どのようなエラーが表示されますか? – Mureinik
また、[tag:rdbms]は何を使用していますか? – Mureinik
あなたの質問を編集して** exact **エラーメッセージを追加してください –