Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 10825|Antwort: 0

[Quelle] Praktische SQL-Aussage: Datumsschätzung

[Link kopieren]
Veröffentlicht am 26.11.2014 15:53:01 | | |

DEKLARIEREN Sie @dt Termin
SET @dt=GETDATE()

DECLARE @number int
SATZ @number=3

--1. Geben Sie das Datum des ersten oder letzten Jahrestags an.
--A. Der erste Tag des Jahres
SELECT Co nVERT(char(5),@dt,120)+ '1-1 '

--B. Der letzte Tag des Jahres
SELECT Co nVERT(char(5),@dt,120)+ '12-31 '


--2. Der erste oder letzte Tag des Quartals, an dem das angegebene Datum liegt
--A. Erster Tag des Quartals
SELECT Co nVERT(datetime,
Co nVERT(char(8),
DATEADD (Mo nth,
DATEPART(Quartal, @dt)*3-Moth nth(@dt)-2,
@dt),
120)+ '1 ')

--B. Letzter Tag des Quartals (CASE-Urteil)
SELECT Co nVERT(datetime,
Co nVERT(char(8),
DATEADD (Mo nth,
DATEPART(Quartal, @dt)*3 Monate nth(@dt),
@dt),
120)
+FALL WENN DATEPART(Quarter,@dt) in(1,4)
DANN '31 'ELSE '30' ENDE)

--C. Letzter Tag des Quartals (Direkt-Push-Algorithmus)
DATUM AUSWÄHLEN (Tag,-1,
Co nVERT(char(8),
DATEADD (Mo nth,
1+DATEPART(Quartal,@dt)*3-Moth nth(@dt),
@dt),
120)+ '1 ')


--3. Der erste oder letzte Tag des Monats, an dem das angegebene Datum liegt
--A. Der erste Tag des Monats
SELECT Co nVERT(datetime,Co nVERT(char(8),@dt,120)+ '1 ')

--B. Der letzte Tag des Monats
DATEADD auswählen(Tag,-1,Co nVERT(char(8),DATEADD(Mo nth,1,@dt),120)+ '1 ')

--C. Letzter Tag des Monats (einfach zu verwendende falsche Methode)
DATEADD auswählen(Mo nth,1,DATEADD(Tag,-TAG(@dt),@dt))


--4. Jeder Wochentag, an dem das angegebene Datum liegt
DATEADD AUSWÄHLEN(Tag,@number-DATEPART(Wochentag,@dt),@dt)


--5. Jeder Wochetag, an dem das angegebene Datum liegt
--Ein.  Sonntag als erster Wochentag
DATEADD auswählen(Tag,@number-(DATEPART(Wochentag,@dt)+@@DATEFIRST-1)%7,@dt)

--B.  Montag ist der erste Wochentag
DATEADD auswählen(Tag,@number-(DATEPART(Wochentag,@dt)+@@DATEFIRST-2)%7-1,@dt)






Vorhergehend:Indexauslastungsproblem, wenn SQL Server wie '%Keyword%' verarbeitet wird
Nächster:ORACLE 11g Neue Funktionen – Ermöglicht DDL-Sperren, auf DML-Sperren zu warten
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com