Zum Inhalt springen

Eigene Funktionen im SQL-Server


philSMA

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 Wochen später...

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hat er doch geschrieben "SQL-Server" ist ansich schon eindeutig und
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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...