2016-08-06 15 views
0

Ich habe eine Spalte mit „Letzten Tag des Monats“ zu aktualisieren, basierend auf den Werten aus einer anderen Spalte.Erhalten letzten Tag des Monats in SQL Server

ZB:

  • Spalte aktualisiert werden: Auftragsdatum
  • Format: 3/31/2016

  • Spalte aus dem Wert zu erhalten: Zeitraum

  • Format: 201.603

Wie kann dies erreicht werden?

TIA

Antwort

2

In SQL Serverr 2012, würden Sie verwenden eomonth():

Wenn Sie eine Spalte haben PeriodFormat genannt, dann würden Sie verwenden:

select eomonth(cast(cast(PeriodFormat as varchar(255)) + '01' as date)) 

Beachten Sie, dass SQL Server (und Datenbanken im Allgemeinen) Daten in einem internen Format speichern. So sollten Sie Ihre Datums- und Datumsspalten deklarieren. Sie können oder format() verwenden, um sie in String-Darstellungen bei der Ausgabe zu konvertieren. Verwenden Sie jedoch die Datenbankunterstützung für Daten und speichern Sie die Daten ordnungsgemäß.

+0

Vielen Dank Gordon :) – Aiswarya

0

oder

declare @aDate Date = getdate() 
Select dateAdd(month, 1, dateAdd(day, -Day(@aDate),@aDate)) 

oder

Select dateAdd(day, -Day(@aDate), dateAdd(month, 1, @aDate)) 
Verwandte Themen