sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan angiver jeg datoen, når jeg skriver SQL-forespørgsel fra SQL Server, der er knyttet til Oracle?

Jeg foretrækker ODBC-formatet:

--DateTime SELECT {ts'2015-09-20 12:30:00'} --Time (however this comes with "today"-time) SELECT {t'12:30:00'} --Date SELECT {d'2015-09-20'} GO

Den simple dato bogstavelig er ikke kulturuafhængig...

SET LANGUAGE ENGLISH;
SELECT CAST('2014-09-13' AS DATETIME);
GO
SET LANGUAGE GERMAN;
SELECT CAST('2014-09-13' AS DATETIME);--ERROR: there's no month "13"
GO
 

Men det virker - dog - med måltypen DATE (denne forskel er ret mærkelig...):

SET LANGUAGE ENGLISH;
SELECT CAST('2014-09-13' AS DATE);
GO
SET LANGUAGE GERMAN;
SELECT CAST('2014-09-13' AS DATE);--ERROR: there's no month "13"
GO
 

Tak til lad2025 Jeg vil tilføje den "fulde" ISO 8601, som fungerer fint:

SET LANGUAGE ENGLISH;
SELECT CAST('2014-09-13T12:30:00' AS DATETIME);
GO
SET LANGUAGE GERMAN;
SELECT CAST('2014-09-13T12:30:00' AS DATETIME);
GO
 


  1. Eksempler på SQL Server FOR JSON PATH (T-SQL)

  2. Heroku Postgres:psql:FATAL:ingen pg_hba.conf-indgang for vært

  3. Hvordan kan du navngive datasættets tabeller, du returnerer i en lagret proc?

  4. Evaluering, når et udtryk i en forespørgsel evalueres