Importowanie określonego formatu daty do programu Excel z Microsoft SQL Server

3

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ć?

TonyC
źródło
Standardową praktyką jest zwykle łatwiejsza / szybsza zmiana sposobu, w jaki coś jest robione w bazie danych, niż próbowanie zepsucia go po wyodrębnieniu. Spróbowałbym zbadać, jak data jest przechowywana w SQL Server, co nie powinno być trudne. Zapraszamy również do SuperUser!
Jared
Próbowałem już tam szczęścia. Po skonfigurowaniu tabeli testowej i wstawieniu takich wartości: 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.
TonyC
W celu późniejszego wykorzystania proszę nie przesyłać dalej. Zamiast tego powinieneś zgłosić swoje pytanie do migracji.
Iszi
najwyraźniej SQL Server ma wbudowane style do tego. Oto jak wybrać datę i przekonwertować ją na niemiecką. SELECT CONVERT (varchar, getdate (), 4)
Jared
i gdzie dokładnie mam używać tej instrukcji w narzędziu do połączenia z programem Excel? Jeśli tak, jaka jest właściwa składnia?
TonyC

Odpowiedzi:

1

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.

  1. Użyj Kreatora połączenia danych programu Excel, aby pobrać tabelę, którą chcesz wyświetlić w programie Excel.

  2. 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

  3. 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.

Andi Mohr
źródło