Używam MS SQL Server 2008, , aw tabeli mam kolumnę idate jako datę, ale w formacie całkowitym. Ale w zapytaniu chcę to w formacie daty. Czy jest możliwe przekonwertowanie daty całkowitej na właściwy format datetime?Jak przekonwertować int do daty w SQL Server 2008
Odpowiedz
Nie można przekonwertować wartość całkowitą prosto do daty, ale można najpierw do datetime następnie do data typu
select cast(40835 as datetime)
a następnie przekonwertować do daty (SQL 2008)
select cast(cast(40835 as datetime) as date)
okrzyki
po prostu ponownie odczytać swoje pytanie, jeśli chcesz jako datę, a następnie po prostu wybierz opcję Cast (40835 jako datetime) – davey
Najprawdopodobniej chcą zbadać dokumentację dla T-SQL w CAST i CONVERT funkcje, znajdujące się w dokumentacji tutaj: http://msdn.microsoft.com/en-US/library/ms187928(v=SQL.90).aspx
będzie następnie użyć jednego z tych funkcji w zapytaniu T-SQL do konwersji kolumna [idate] z bazy danych do formatu datetime lubienia w wynikach.
Musisz najpierw przekonwertować go do datetime, a następnie do d jadł.
Spróbuj tego, może to być pomocne:
Select Convert(DATETIME, LEFT(20130101, 8))
następnie przekonwertować do tej pory.
Czytanie poprzez to pomaga rozwiązać podobny problem. Dane są podane w dziesiętnym typie danych - [DOB] [dziesiętnie] (8, 0) NIE NULL - np. - 19700109. Chcę uzyskać w danym miesiącu. Rozwiązaniem jest połączenie SUBSTRING z CONVERT z VARCHAR.
SELECT [NUM]
,SUBSTRING(CONVERT(VARCHAR, DOB),5,2) AS mob
FROM [Dbname].[dbo].[Tablename]
Jeśli całkowita jest znacznik czasu w milisekundach użyć:
SELECT strftime("%Y-%d-%m", col_name, 'unixepoch') AS col_name
To będzie sformatować milisekund rrrr-mm-dd ciąg.
Pytanie dotyczy MS SQL Server, który nie ma żadnej funkcji 'strftime' (która moim zdaniem jest funkcją SQLite?) – jpw
- 1. SQL Server 2008 Generowanie serii dat daty
- 2. łączące pola daty i godziny do DateTime, SQL Server 2008
- 3. Jak przekonwertować Varchar na Int w serwerze sql 2008?
- 4. Jak przekonwertować plik .mdf programu SQL Server 2008 do programu SQL Server 2012?
- 5. Jak przekonwertować systemowy format daty na dd/mm/yy w SQL Server 2008 R2?
- 6. Jak przekonwertować SQL Server 2008 DateTimeOffset na DateTime
- 7. Włóż dane UTF8 do SQL Server 2008
- 8. Group i hrabia w SQL Server 2008
- 9. Przywróć bazę SQL Server 2008 do SQL Server 2000
- 10. Jak odbudować widok w SQL Server 2008
- 11. Typ daty NHibernate i SQL 2008
- 12. TWORZENIE INDEKSU SQL Server 2008
- 13. przypadek zerowy SQL Server 2008
- 14. Uaktualnienie programu SQL Server 2008 do 2008 R2
- 15. Tworzenie kolumny obliczeniowej w SQL Server 2008
- 16. Podział ciąg przecinkiem w SQL Server 2008
- 17. Jak przekazać zmienną daty zerowej do bazy danych SQL Server
- 18. SQL Server 2008 'sp_syspolicy_purge_history' Funkcja
- 19. Jak dodać wystąpienie usługi SQL Server 2008?
- 20. SQL Server 2008: jak porównać XML?
- 21. Włączanie brokera usług w SQL Server 2008
- 22. Jak zaktualizować narzędzie do rozwiązywania konfliktów podczas aktualizacji z SQL-Server 2005 do SQL-Server 2008
- 23. Przypadek i liczba w SQL Server 2008
- 24. Ustawienie SQL Server 2008 zmienna DateTime
- 25. iterację wierszy w SQL Server 2008
- 26. ORDER BY w Sql Server 2008 view
- 27. Błąd logowania w SQL Server 2008
- 28. Zamień ostatni znak w SQL Server 2008
- 29. Przechowywanie sekundy przestępnej w SQL Server 2008
- 30. Korzystanie pivot w SQL Server 2008
Kiedy mówisz, że masz datę w formacie całkowitym, co dokładnie masz na myśli - jaki jest format? – condiosluzverde
davey ma rację. 'DATEADD (DAY, 40835, '1900-01-01')' jest nieco szybszy w testach, które przeprowadziłem. –