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

Sådan kombinerer du dato fra et felt med tid fra et andet felt - MS SQL Server

Du kan blot tilføje de to.

  • hvis Time part af din Date kolonne er altid nul
  • og Date part af din Time kolonne er også altid nul (basisdato:1. januar 1900)

Tilføjelse af dem returnerer det korrekte resultat.

SELECT Combined = MyDate + MyTime FROM MyTable

Begrundelse (ros til ErikE/dnolan)

Det fungerer sådan på grund af den måde, datoen er gemt som to 4-byteIntegers hvor de venstre 4-bytes er date og højre4-bytes er time . Det er som at gøre $0001 0000 + $0000 0001 = $0001 0001

Rediger vedrørende nye SQL Server 2008-typer

Date og Time er typer introduceret i SQL Server 2008 . Hvis du insisterer på at tilføje, kan du bruge Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)

Redigering2 vedrørende tab af præcision i SQL Server 2008 og nyere (kudos til Martin Smith)

Se hvordan man kombinerer dato og klokkeslæt til datetime2 i SQL Server? for at forhindre tab af præcision ved brug af SQL Server 2008 og nyere.



  1. Hvordan undgår man divider med nul fejl i SQL?

  2. 7 gratis værktøjer til databasediagram for travle datafolk

  3. Multitenancy-muligheder for PostgreSQL

  4. Installation af RAC til en database med datafiler