0
두 개의 매개 변수를 사용하고 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
질문을 편집하고 ** 정확한 ** 오류 메시지를 추가하십시오 –