Funkcje Mysql

Witam.
W szkole mam taki przedmiot jak administrowanie bazami danych z dość nieogarniętym nauczycielem.
Dostałem od niego następujące zadanie : Zrób funkcję w mysql zwracającą sumę licz dla przykładu jak ma to wyglądać wpisuję 123 a pokazuje mi po wykonaniu funkcji 6 . Nie wiem od czego wgl zacząć. Mógłby mi ktoś powiedzieć jakie rzeczy z Mysql muszę umieć żeby to ogarnąć lub napisać tę funkcję z dokładnym opisem co za co odpowiada ? Z góry dziękuję :smiley:

Nie da się zrobić czegoś takiego w MySQL jak opisałeś. Albo źle coś napisałeś co masz zrobić, ewentualnie źle zrozumiałeś/przepisałeś co jest do zrobienia, albo nie masz tego zrobić w MySQL.
Jest też trzecia opcja, nauczyciel nie ma pojęcia co zadał i czego uczy.

1 polubienie

Sprawa wygląda tak że robiliśmy pomniejsze funkcje w mysql które poprostu szukały czegoś w bazie danych.Przed świętami wpadł na genialny pomysł żeby nam się nie nudziło każdemu coś w tym stylu i wszystkim powiedział tylko że to ma być mysql i zrobione w funkcji. Jeśli by mu chodziło o php czy coś innego raczej nie było by problemu a że jest jak jest i tak powiedział to szukałem wszędzie i nic dalej nie wiem i pytam tutaj może specjalista się jakiś trafi

Takie podpowiedzi dostałem na innych forach :

  1. Napisz pętlę for i 1… length(‘123’), w środku pętli za pomocą funkcji substr wybieraj jeden znak i zapisuj go w innej zmiennej. Następnie sumuj te zmienne
  2. https://www.geeksforgeeks.org/sum-of-digits-of-a-number-in-pl-sql/?fbclid=IwAR3R3Im8H_81REl1CZYqAZU9bxgc4dwc0SE8z8KG9fmcqkBJwA8pNqHorfY
1 polubienie

https://forum.webhelp.pl/php-i-bazy-danych/suma-liczb-w-wierszu-t23421.html

Google nie boli, mam nadzieję, ze naprowadziłem, całkiem skomplikowany kod jak na zwykłą szkołę :wink:

Wszystko by było spoko nie licząc tego że ten nauczyciel wymaga a nie uczy jeśli by też uczył to by problemu nie było :wink:

To sporo zmienia. Nie chodzi więc o funkcję a o zapytanie używające funkcji sumującej. Tylko dalej za mało informacji, potrzeba jeszcze wiedzieć jaka jest struktura bazy danych oraz jakie wartości masz zsumować. Bo na tą chwilę to zakrawa o tematykę czytania w myślach a nie bazy danych.

Wartości do zsumowania mam na samym początku wpisać sb w sensie uruchamiam funkcję dostaję miejsce na wpisanie dowolnych liczb w jednym ciągu a to ma je rozbić na oddzielne i wtedy je sumować

Czyli co, na wejściu funkcji dostajesz np. 1,2,3,4
a rezultatem działania funkcji ma być wartość 10 ?

Na wejściu daję to w ciągu w sensie 1234 a tak pozatym to tak

Daj przykład tego jak to robiliście w szkole, może w ten sposób domyślimy się o co chodziło nauczycielowi.

Da się to rozwiązać przez rekurencyjne wywoływanie twojej funkcji jako parametr biorąc resztę z dzielenia przez 10. Sens dydaktyczny może i ma ale zastosowanie żadne. Wrzuć więcej przykładów tak jak @Fizyda wspominał.

A może jednak ma wyjść np. 24 z 1234?