philSMA Geschrieben 15. Februar 2005 Teilen Geschrieben 15. Februar 2005 Hallo, wahrscheinlich ist es ganz einfach aber ich seh den Wald vor lauter Bäumen nicht... Ich habe eine StoredProcedure. Darin ist eine SQL-Abfrage: SELECT Reparatur.GeraetID as GeraetID, DATEPART(wk,Reparatur.Reparaturstartdatum) as KW, ... [/PHP] Mit DATEPART() will ich die Kalenderwoche des "Reparaturstartdatum" ermitteln. Dies funktioniert aber nicht richtig. (Kalenderwochenberechnung im SQL-Server nimmt an dass der 1.1. immer KW 1 ist, stimmt z.B. für 2005 nicht). Dafür habe ich eine StoredProcedure im Netz gefunden [PHP] CREATE PROCEDURE dbo.ISOweek ( @DATE datetime ) AS BEGIN DECLARE @ISOweek int SET @ISOweek = DATEPART(wk, @DATE) + 1 - DATEPART(wk, CAST( DATEPART( yy, @DATE ) AS CHAR(4) ) + '0104' ) --Special cases: Jan 1-3 may belong to the previous year IF ( @ISOweek = 0 ) BEGIN DECLARE @Date2 as datetime SET @Date2 = CAST( DATEPART( yy, @DATE ) - 1 AS CHAR(4) ) + '12' + CAST( 24 + DATEPART( DAY, @DATE ) AS CHAR(2) ) EXEC @ISOweek = ISOweek @Date2 SET @ISOweek = @ISOweek + 1 END --Special case: Dec 29-31 may belong to the next year IF ( ( DATEPART( mm, @DATE ) = 12 ) AND ( ( DATEPART( dd, @DATE ) - DATEPART( dw, @DATE) ) >= 28 ) ) SET @ISOweek = 1 RETURN(@ISOweek) END GO Jetzt möchte ich diese StoredProcedure genauso aufrufen wie die Funktion "DATEPART". Wenn ich einfach schreibe "ISOweek(Reparaturdatum)" funktioniert es nicht... :-) Wie muss ich die StoredProc aufrufen damit das funktioniert?? Danke schon mal... Grüße aus Nordhessen, Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 15. Februar 2005 Teilen Geschrieben 15. Februar 2005 ISOweek is ne Prozedur, also mit execute aufrufen, den Rueckgabewert in einer Variablen speichern und diese dann mit in dein Select packen. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
philSMA Geschrieben 15. März 2005 Autor Teilen Geschrieben 15. März 2005 Hallo, sorry das ich nicht gleich antworten konnte, ist was anderes dazwischengekommen. Habe das mit "execute" probiert, funktioniert aber trotzdem nicht. Ich weiß ja gar nicht ob das überhaupt geht, dass ich in einer Select-Anweisung eine Stored Procedure aufrufen kann. Könntest Du mir bitte noch mal genauer erklären wie das geht? Wäre echt nett. Danke, Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 15. März 2005 Teilen Geschrieben 15. März 2005 Ich weiß ja gar nicht ob das überhaupt geht, dass ich in einer Select-Anweisung eine Stored Procedure aufrufen kann. Das geht natürlich nicht. Du kannst draus aber eine Funktion machen die Du mit einem select aufrufen kannst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
philSMA Geschrieben 15. März 2005 Autor Teilen Geschrieben 15. März 2005 Juhu! Hallo, das es nicht geht hab ich mir fast gedacht und vorhin angefangen eine Funktion zu erstellen. Kurz vor diesem Beitrag ist sie fertig geworden und funktioniert. Danke trotzdem, Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 15. März 2005 Teilen Geschrieben 15. März 2005 Habe das mit "execute" probiert, funktioniert aber trotzdem nicht. Ich hatte ja auch eher geschrieben, dass du die Prozedur getrennt aufrufen sollst und die Rueckgabe, welche du in einer Variablen speicherst dann in dein Select packst Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 15. März 2005 Teilen Geschrieben 15. März 2005 Ich hatte ja auch eher geschrieben, dass du die Prozedur getrennt aufrufen sollst und die Rueckgabe, welche du in einer Variablen speicherst dann in dein Select packst Goos Warum einfach wenn auch kompliziert geht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 15. März 2005 Teilen Geschrieben 15. März 2005 Warum einfach wenn auch kompliziert geht Oh, reine Gewohnheit. In meinen Prozeduren mach ich in aller Regel Dinge, die in Funktionen nicht erlaubt sind (sonst koennt ich ja gleich Funktionen machen ) Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zirri Geschrieben 16. März 2005 Teilen Geschrieben 16. März 2005 wenn du schreiben wuerdest, um welche DB es geht, koennte man dir vielleicht auch auf andere art&weise helfen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 16. März 2005 Teilen Geschrieben 16. März 2005 wenn du schreiben wuerdest, um welche DB es geht, koennte man dir vielleicht auch auf andere art&weise helfen Hat er doch geschrieben "SQL-Server" ist ansich schon eindeutig und dazu kommt dann in dem Fall noch der Code der Prozedur. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 16. März 2005 Teilen Geschrieben 16. März 2005 Hat er doch geschrieben "SQL-Server" ist ansich schon eindeutig undNe ne... ganz und gar nicht. Ein SQL-Server ist für mich erstmal irgendeine SQL basierte Datenbank. Dass viele MS gewöhnten damit direkt MS SQL assoziieren mag ja für manch einen normal sein, aber alle, die nicht täglich damit zu tun haben sehen das durchaus anders. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 16. März 2005 Teilen Geschrieben 16. März 2005 Ne ne... ganz und gar nicht. Ein SQL-Server ist für mich erstmal irgendeine SQL basierte Datenbank. Dass viele MS gewöhnten damit direkt MS SQL assoziieren mag ja für manch einen normal sein, aber alle, die nicht täglich damit zu tun haben sehen das durchaus anders. Genau, fuer die daran gewoehnten ists eindeutig und wenn du nicht dazu gehoerst, dann musst mich auch nach meinem und noch weiterzitieren *g* Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 16. März 2005 Teilen Geschrieben 16. März 2005 und wenn du nicht dazu gehoerst, dann musst mich auch nach meinem und noch weiterzitierenNö, es ging mir nur um die Aussage '"SQL-Server" ist ansich schon eindeutig' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 16. März 2005 Teilen Geschrieben 16. März 2005 Och, da bleib ich aber bei meiner Meinung. SQL-Server in der Schreibweise und dann im Titel auch noch verbunden mit "im SQL-Server" und nicht "in einem SQL Server" halte ich einfach fuer eindeutig. Es wird ja schliesslich von "dem" SQL-Server und nicht "einem" SQL-Server gesprochen. Gut, wenn du es nicht erkannt hast, dann ists wohl nicht fuer alle ganz eindeutig und der Thread-Ersteller beraubt sich mit seiner ungenauen Aussage evtl. um Hilfe Goos PS: Genug der Diskussion ueber den Gehalt der Aussage "der SQL-Server" fuer mich, sonst gibts wieder nur Schelte von einem Moderator Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.