Zadałem już pytanie na: Przepełnienie stosu i zostałem wysłany tutaj.
Importuję daty z niemieckiej tabeli SQL Server do niemieckiego pliku Excel za pomocą wbudowanego narzędzia do połączeń Excel.
Jednak format daty jest taki sam jak w SQL Server: 2012-08-08, ale chcę wyświetlić: 08.08.2012. Po dwukrotnym kliknięciu wewnątrz komórki rozpozna niemieckie formatowanie daty, ale oczywiście chciałbym mieć ten format dla całej kolumny na początku, bez konieczności ręcznej zmiany.
Muszę też być w stanie wykorzystać te daty do obliczeń.
Wiem, że istnieje pole tekstowe, w którym można wprowadzić „definicję” SQL w narzędziu do połączeń programu Excel, ale tak naprawdę nie działa ona z „normalnymi” instrukcjami SQL.
Czy muszę coś zmienić w SQL Server lub jak to zrobić?
źródło
insert into [dbo].[DateTest] Values ('2011-12-01', '01.12.2011')
. Wyjście jest zawsze pierwszym formatem. Z DBCC USEROPTIONS widzę, że format daty jest ustawiony na dmy. Co muszę zmodyfikować? Mały przykład byłby naprawdę miły. Dziękuję Ci.Odpowiedzi:
Jeśli dobrze cię rozumiem, mówisz, że pole w SQL Server jest przechowywane w formacie datetime i chcesz pobrać te informacje do Excela, tworząc połączenie z tabelą SQL Server i wyświetlić je w niemieckiej formie daty dd.mm .yyyy
Nie trzeba edytować kodu SQL w zakładce definicji okna Właściwości połączenia w celu formatowania - może to być prostsze niż myślisz.
Użyj Kreatora połączenia danych programu Excel, aby pobrać tabelę, którą chcesz wyświetlić w programie Excel.
Następnie w programie Excel dla każdej kolumny daty zaznacz całą kolumnę, kliknij formatuj komórki (lub przydatny skrót klawiaturowy to Ctrl + 1), a następnie na karcie Numer kliknij opcję Niestandardowa na dole kolumny po lewej stronie. W polu tekstowym „Typ” wpisz: Dd / mm / rrrr
Przy następnym odświeżeniu danych program Excel powinien zachować niemieckie formatowanie dat. Do obliczeń możesz użyć czegokolwiek w tych kolumnach, Excel wie, że są datami.
źródło