2017-05-19 3 views
-8
(to_char(sysdate,'YYYY')+least(sign((sysdate-to_date('01-Aug-'|| 
to_char(sysdate,'YYYY'),'DD-Mon-RRRR'))),0)) "AcYear" 

Fehler:'to_char' ist keine anerkannte integrierte Funktion Name

'to_char' is not a recognized built-in function name. 

I to_char und to_date versucht zu ändern, aber Fehler immer zu konvertieren.

erwarte ich 2016 als AcYear sehen

Kann jemand bitte helfen?

+7

Sind Sie sicher, dass Sie SQL Server verwenden? 'to_char' ist keine Funktion in SQL Server. – ollie

+5

Oracle ist nicht SQL Server: Funktionen variieren. – xQbert

+5

Was ist mit der Nachricht, verstehst du nicht? Warum verwenden Sie eine Oracle/Postgres/Teradata-Funktion in SQL Server? Zumindest sollten Sie Ihre Frage bearbeiten und Beispieldaten und gewünschte Ergebnisse bereitstellen. –

Antwort

4

In SQL Server, wenn Sie den ersten Tag des Monats August wollen, dann datefromparts() verwenden:

select datefromparts(year(getdate()), 8, 1) 

Diese 2012+ in SQL Server funktioniert. Frühere Versionen erfordern etwas mehr Arbeit:

select cast(datename(year, getdate()) + '0801' as date)