Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie zmiennej w funkcji
Forum PHP.pl > Forum > Bazy danych > MySQL
mikmas
Aż nie mogę uwierzyć, że nie ma na googlach rozwiązania mojego problemu, więc pewnie robię jakiś mega trywialny błąd.
Tworzę sobie funkcję:
  1. CREATE FUNCTION FORMAT_PRICE(lp_price DECIMAL(10,2)) RETURNS VARCHAR(15)
  2. BEGIN
  3. DECLARE fraction VARCHAR(2);
  4. SET fraction=CAST(ROUND(lp_price*100) MOD 100 AS VARCHAR(2));
  5. IF CHAR_LENGTH(fraction)<2 THEN fraction=CONCAT('0',fraction);
  6. RETURN CONCAT(FLOOR(lp_price),',',fraction,' zł*');
  7. END

Jednak dostaję błąd związany z deklarowaniem zmiennej:

#1064 - 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 '' at line 4

MySQL w wersji najnowszej (albo jednej z najnowszych). Gdzie robię błąd?
ghost1511
Funkcja ROUND() przyjmuje dwa parametry
mikmas
1 lub 2
"D defaults to 0 if not specified."
mmmmmmm
Daj przed CREATE FUNCTION:
DELIMITER //
mikmas
Błąd był w IF-ie. Po THEN fraction... nie dałem END
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.