Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

korisnički definisana funkcija

[es] :: MySQL :: korisnički definisana funkcija

[ Pregleda: 4408 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

pedja113
PREDRAG VELJOVIC
Kraljevo

Član broj: 338852
Poruke: 6
*.dynamic.isp.telekom.rs.



Profil

icon korisnički definisana funkcija25.07.2018. u 13:08 - pre 69 meseci
Pozdrav svima,
pocetnik sam u SQL i imam zadatak,ali ne mogu da se snadjem bas najbolje, pa ako moze neka pomoc. Zadatak : "Napisati korisnički definisanu funkciju koja će za zadati datum vratiti redni broj dana u nedelji. Potrebno je predati DDL kod korisnički definisane funkcije."
Hvala unapred
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: korisnički definisana funkcija25.07.2018. u 18:11 - pre 69 meseci
taj sto je pravio zadatak nije bas siguran sta oce :( ..


korisnicki definisana funkcija je UDF, pise se u C-u i za nju nema DDL
(osim ako nije mislio na
https://dev.mysql.com/doc/refman/5.7/en/create-function-udf.html kao ddl)

kako mozes da vidis ovde:

https://dev.mysql.com/doc/refman/8.0/en/adding-udf.html

https://dev.mysql.com/doc/refman/5.7/en/adding-udf.html

imas ovde neki jednostavan primer

https://www.codeguru.com/cpp/d...icle.php/c12615/MySQL-UDFs.htm


sa druge strane moze da se napise mysql stored funkcija / procedura i za
to postoji DDL

https://dev.mysql.com/doc/refman/5.7/en/create-procedure.html

jednostavan primer:

http://www.mysqltutorial.org/mysql-stored-function/


sta je postavljac pitanja zeleo od tebe (stored funkciju pisanu u SQL-u
ili udf pisan u C-u) ne znam, suljpa smo pojeli a olovo je otrovno
 
Odgovor na temu

pedja113
PREDRAG VELJOVIC
Kraljevo

Član broj: 338852
Poruke: 6
*.dynamic.isp.telekom.rs.



Profil

icon Re: korisnički definisana funkcija27.07.2018. u 12:04 - pre 69 meseci
Hvala na pomoci, ali ja i dalje ne kapiram kako da odradim ovo.
Evo ga ceo zadatak, ali sam prva dva odradio,samo me tri buni
"2.1. U postojećoj bazi DB_ASSIG1 deklarisati varijable:

var01 = 100 i var 02 = MyVar, korišćenjem naredbe SELECT
var03 = YourVar i var04 = 1, korišćenjem ključne reči SET
var05 = 0 i var06 = TheirVar, tako da budu definisani prilikom deklarisanja

2.2. Napisati naredbu CASE koja će za svaki pojedinačni dan u sedmici moći da vrati naziv dana, a njenim izvršavanjem će biti vraćen naziv dana koji trenutno jeste.

2.3. Napisati korisnički definisanu funkciju koja će za zadati datum vratiti redni broj dana u nedelji. Potrebno je predati DDL kod korisnički definisane funkcije."
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: korisnički definisana funkcija27.07.2018. u 12:22 - pre 69 meseci
Drugim rečima, ne znaš na napišeš MySql funkciju?

Evo ti početak, ti napiši ostalo

CREATE FUNCTION

Evo malo tutorijala, kada već nisi uspeo da nađeš google na svom računaru

http://www.mysqltutorial.org/mysql-stored-function/
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: korisnički definisana funkcija27.07.2018. u 12:39 - pre 69 meseci
trazi ti da napises stored funkciju, i djoka i ja smo ti dali link sa primerima, dalje od toga jedino da mi napisemo umesto tebe
 
Odgovor na temu

pedja113
PREDRAG VELJOVIC
Kraljevo

Član broj: 338852
Poruke: 6
*.dynamic.isp.telekom.rs.



Profil

icon Re: korisnički definisana funkcija27.07.2018. u 15:43 - pre 69 meseci
Ne ne,ne zelim da mi vi napisete funkciju, nekako sam se snasao i napisao,ali mi prijavljuje NULL. Ovako izlgeda funkcija, pa ako vam nije problem da mi ukazete na gresku


CREATE FUNCTION [dbo].[WeekDay](@DayOfWeek Varchar(9))

RETURNS INT
AS
BEGIN
DECLARE @iDayofWeek INT
SELECT @iDayofWeek = CASE @DayOfWeek
WHEN 'Monday' THEN 1
WHEN 'Tuesday' THEN 2
WHEN 'Wednesday' THEN 3
WHEN 'Thursday' THEN 4
WHEN 'Friday' THEN 5
WHEN 'Saturday' THEN 6
WHEN 'Sunday' THEN 7

END

RETURN (@iDayofWeek)

END;
GO

Hvala vam za sve.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: korisnički definisana funkcija27.07.2018. u 17:27 - pre 69 meseci
Ovo je funkcija pisana za T-SQL (Microsoft SQL Server), a ovaj deo foruma se bavi MySql bazom.

Za koji ulaz ti vraća null.
Osim toga, funkcija ne predstavlja rešenje zadatka. Traži se da se za DATUM vrati dan u nedelji, a ne za string sa imenom dana vrati broj.

Code (sql):

CREATE FUNCTION dbo.DanUNedelji(@MyDate DATE)
RETURNS VARCHAR(20) AS

BEGIN
DECLARE @RESULT VARCHAR(20);

SET @RESULT =
  CASE datepart(dw, @MyDate)
    WHEN 1 THEN 'Nedelja'
    WHEN 2 THEN 'Ponedeljak'
    WHEN 3 THEN 'Utorak'
    WHEN 4 THEN 'Sreda'
    WHEN 5 THEN 'Četvrtak'
    WHEN 6 THEN 'Petak'
    WHEN 7 THEN 'Subota'
  END;
  RETURN( @RESULT );
END;
GO

SELECT dbo.DanUNedelji( getdate() ) dan;
SELECT dbo.DanUNedelji( dateadd(DAY, -1, getdate()) ) dan;


[Ovu poruku je menjao djoka_l dana 27.07.2018. u 18:57 GMT+1]
 
Odgovor na temu

pedja113
PREDRAG VELJOVIC
Kraljevo

Član broj: 338852
Poruke: 6
*.dynamic.isp.telekom.rs.



Profil

icon Re: korisnički definisana funkcija27.07.2018. u 17:50 - pre 69 meseci
za
SELECT dbo.WeekDay(June 13, 2018');
GO

za ovo mi vraca vrednost NULL
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: korisnički definisana funkcija27.07.2018. u 17:59 - pre 69 meseci
Tebi je ulazna varijabla string, i funkcija očekuje neki od stringova Monday..Sunday a ti stavljaš string reprezentaciju datuma.
 
Odgovor na temu

android27

Član broj: 338625
Poruke: 17
109.175.10.*



Profil

icon Re: korisnički definisana funkcija28.07.2018. u 00:59 - pre 69 meseci
i ja sam zaopeo na ovom imali neko ovo resenje?? :/
 
Odgovor na temu

android27

Član broj: 338625
Poruke: 17
109.175.10.*



Profil

icon Re: korisnički definisana funkcija28.07.2018. u 01:10 - pre 69 meseci
ja sam ovo radio ali nije to to sta zahtjeva

DECLARE @dateFrom datetime
DECLARE @dateTo datetime
DECLARE @DaysBetween int

SET @DaysBetween = 0
SET @dateFrom = '20180727'
SET @dateTo = '20180909'

WHILE @dateTo - 1 >= @dateFrom
BEGIN
SET @dateFrom = @dateFrom + 1
IF DATEPART(dw,@dateFrom) <> 1 --Nedelja
SET @DaysBetween = @DaysBetween + 1

END

SELECT @DaysBetween as BrojDana
 
Odgovor na temu

pedja113
PREDRAG VELJOVIC
Kraljevo

Član broj: 338852
Poruke: 6
*.dynamic.isp.telekom.rs.



Profil

icon Re: korisnički definisana funkcija28.07.2018. u 21:01 - pre 68 meseci
CREATE FUNCTION [dbo].[WeekDayInt] (@DayOfWeekName VARCHAR(9))
RETURNS INT
AS
BEGIN
DECLARE @DayWeekNumber INT
IF @DayOfWeekName = 'Sunday' SET @DayWeekNumber = 1
IF @DayOfWeekName = 'Monday' SET @DayWeekNumber = 2
IF @DayOfWeekName = 'Tuesday' SET @DayWeekNumber = 3
IF @DayOfWeekName = 'Wednesday' SET @DayWeekNumber = 4
IF @DayOfWeekName = 'Thursday' SET @DayWeekNumber = 5
IF @DayOfWeekName = 'Friday' SET @DayWeekNumber = 6
IF @DayOfWeekName = 'Saturday' SET @DayWeekNumber = 7;
RETURN (@DayWeekNumber)
END

Pokusao sam i sa IF ali mi opet vraca NULL
Ne znam kako da odradim.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: korisnički definisana funkcija28.07.2018. u 21:16 - pre 68 meseci
za pocetak, da li je stvarno u pitanju MySQL ili je u pitanju Microsoft
SQL server?
 
Odgovor na temu

pedja113
PREDRAG VELJOVIC
Kraljevo

Član broj: 338852
Poruke: 6
*.dynamic.isp.telekom.rs.



Profil

icon Re: korisnički definisana funkcija29.07.2018. u 10:58 - pre 68 meseci
Microsoft SQL server
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: korisnički definisana funkcija29.07.2018. u 17:02 - pre 68 meseci
Citat:
pedja113: Microsoft SQL server


ovo je tema specijalizovana za MySQL server (kao sto ti je neko vec napisao mislim),

MySQL -> https://www.mysql.com je mnogo razlicit proizvod od M$SQL servera https://www.microsoft.com/en-us/sql-server (prvi je open source, free, ultra brz i tera 80+% danasnjeg interneta, drugi kosta ko bubreg i levo plucno krilo, proprietary ali sa mnogo vise mogucnosti od prvog i uglavnom se koristi u enterprise svetu ... nisu uopste u klasi za poredjenje)

a pomoc za isti na ES forumu mozes dobiti ovde: http://www.elitesecurity.org/f13-Baze-podataka

ako bi neki admin mogao da prebaci temu tamo bilo bi iskusno da ne bunimo sutra nekoga ko bude trazio neke informacije o MySQL-u
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: korisnički definisana funkcija29.07.2018. u 17:59 - pre 68 meseci
Citat:
bogdan.kecman: a pomoc za isti na ES forumu mozes dobiti ovde: http://www.elitesecurity.org/f13-Baze-podataka

Samo mala ispravka: ovde - http://www.elitesecurity.org/f141-MS-SQL

 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: korisnički definisana funkcija29.07.2018. u 18:29 - pre 68 meseci
ah cool, taj je meni hidden :D jos bolje :)
 
Odgovor na temu

cini123

Član broj: 101003
Poruke: 3
79.143.160.*



+1 Profil

icon Re: korisnički definisana funkcija29.01.2021. u 19:03 - pre 38 meseci
Citat:
djoka_l:
Drugim rečima, ne znaš na napišeš MySql funkciju?

Evo ti početak, ti napiši ostalo

CREATE FUNCTION

Evo malo tutorijala, kada već nisi uspeo da nađeš google na svom računaru

http://www.mysqltutorial.org/mysql-stored-function/


Prijatelju da zna napisati nebi ti ni pisao .Nebi ti kruna s glave spala da si napisao par reda koda.
Lako je pričati kad imaš znanje ali pomozi ako ti se traži pomoć a ako nećeš bolje je ćutati
nego likovati.Znanje i ne vrijedi ako nećeš pomoći jer čemu ono služi ako samo ti znaš.
Iako možda neće njemu pomoći ali hoće nekad nekome drugom evo rješenja.


GO
CREATE FUNCTION [dbo].[DaniSedmice](@MyDate DATE)
RETURNS NVARCHAR(50) AS

BEGIN
DECLARE @Rezultat NVARCHAR(50);

SET @Rezultat =
CASE DATENAME(dw, @MyDate)
WHEN 'Monday' THEN 1
WHEN 'Tuesday'THEN 2
WHEN 'Wednesday' THEN 3
WHEN 'Thursday' THEN 4
WHEN 'Friday' THEN 5
WHEN 'Saturday' THEN 6
WHEN 'Sunday'THEN 7
END;
RETURN( @Rezultat );
END;
 
Odgovor na temu

cini123

Član broj: 101003
Poruke: 3
79.143.160.*



+1 Profil

icon Re: korisnički definisana funkcija29.01.2021. u 19:05 - pre 38 meseci
Citat:
djoka_l:
Ovo je funkcija pisana za T-SQL (Microsoft SQL Server), a ovaj deo foruma se bavi MySql bazom.

Za koji ulaz ti vraća null.
Osim toga, funkcija ne predstavlja rešenje zadatka. Traži se da se za DATUM vrati dan u nedelji, a ne za string sa imenom dana vrati broj.

Code (sql):

CREATE FUNCTION dbo.DanUNedelji(@MyDate DATE)
RETURNS VARCHAR(20) AS

BEGIN
DECLARE @RESULT VARCHAR(20);

SET @RESULT =
  CASE datepart(dw, @MyDate)
    WHEN 1 THEN 'Nedelja'
    WHEN 2 THEN 'Ponedeljak'
    WHEN 3 THEN 'Utorak'
    WHEN 4 THEN 'Sreda'
    WHEN 5 THEN 'Četvrtak'
    WHEN 6 THEN 'Petak'
    WHEN 7 THEN 'Subota'
  END;
  RETURN( @RESULT );
END;
GO

SELECT dbo.DanUNedelji( getdate() ) dan;
SELECT dbo.DanUNedelji( dateadd(DAY, -1, getdate()) ) dan;


[Ovu poruku je menjao djoka_l dana 27.07.2018. u 18:57 GMT+1]


Ako pažljivo čitaš vidjećeš da se ne traži ime dana nego redni broj dana.
 
Odgovor na temu

cini123

Član broj: 101003
Poruke: 3
79.143.160.*



+1 Profil

icon Re: korisnički definisana funkcija29.01.2021. u 19:07 - pre 38 meseci
Citat:
pedja113:
Ne ne,ne zelim da mi vi napisete funkciju, nekako sam se snasao i napisao,ali mi prijavljuje NULL. Ovako izlgeda funkcija, pa ako vam nije problem da mi ukazete na gresku


CREATE FUNCTION [dbo].[WeekDay](@DayOfWeek Varchar(9))

RETURNS INT
AS
BEGIN
DECLARE @iDayofWeek INT
SELECT @iDayofWeek = CASE @DayOfWeek
WHEN 'Monday' THEN 1
WHEN 'Tuesday' THEN 2
WHEN 'Wednesday' THEN 3
WHEN 'Thursday' THEN 4
WHEN 'Friday' THEN 5
WHEN 'Saturday' THEN 6
WHEN 'Sunday' THEN 7

END

RETURN (@iDayofWeek)

END;
GO

Hvala vam za sve.



GO
CREATE FUNCTION [dbo].[DaniSedmice](@MyDate DATE)
RETURNS NVARCHAR(50) AS

BEGIN
DECLARE @Rezultat NVARCHAR(50);

SET @Rezultat =
CASE DATENAME(dw, @MyDate)
WHEN 'Monday' THEN 1
WHEN 'Tuesday'THEN 2
WHEN 'Wednesday' THEN 3
WHEN 'Thursday' THEN 4
WHEN 'Friday' THEN 5
WHEN 'Saturday' THEN 6
WHEN 'Sunday'THEN 7
END;
RETURN( @Rezultat );
END;
 
Odgovor na temu

[es] :: MySQL :: korisnički definisana funkcija

[ Pregleda: 4408 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.