Importing specific date format to Excel from Microsoft SQL Server

3

I've already asked the question at: StackOverFlow and got sent to this place here.

I'm importing dates from a German SQL Server table into a German Excel file via the built-in Excel connection tool.

However the date format is just like in the SQL Server: 2012-08-08 but I want to display: 08.08.2012. When I double-click inside a cell it will recognize the German date formatting but of course I would like to have that format for the entire column in the beginning without having to manually change it.

I also need to be able to use these dates for calculations.

I know there is a text box where you can enter a SQL "Definition" in the Excel Connection tool but it doesn't really work with "normal" SQL-statements.

Do I need to change something in SQL Server or how do I make this work?

TonyC

Posted 2012-08-08T12:00:22.030

Reputation: 131

As a standard practice it is ussually easier/faster to change how something is being done in the database rather than trying to mess around with it after it has been extracted. I would try to research changing how the date is stored in SQL Server, which shouldn't be that hard to do. Also, welcome to SuperUser! – Jared – 2012-08-08T12:41:51.150

I've already tried my luck there. When I set-up a test table and insert values like this: insert into [dbo].[DateTest] Values ('2011-12-01', '01.12.2011'). The output is always the first format. With DBCC USEROPTIONS I can see the dateformat is set to dmy. What do I need to modify? A little example would be really nice. Thank you. – TonyC – 2012-08-08T13:16:44.557

For future reference, please don't cross-post. You should instead flag your question for migration. – Iszi – 2012-08-08T13:56:22.993

apparently SQL server has built in styles for this. Here is how to select a date and convert it to german. SELECT CONVERT(varchar, getdate(), 4) – Jared – 2012-08-08T14:22:16.147

and where exactly do I use this statement in the excel connection tool? If yes, what is the right syntax for it? – TonyC – 2012-08-09T04:45:22.790

Answers

1

If I understand you correctly, you're saying the field in SQL Server is stored in datetime format, and you want to pull that info into Excel by creating a connection to your SQL Server table, and display it in German date form dd.mm.yyyy

You shouldn't need to edit the SQL in the definition tab of the Connection Properties window for formatting purposes - this may be simpler than you think.

  1. Use Excel's Data Connection Wizard to pull in the table you want to show in Excel.

  2. Then in Excel, for each date column, select the entire column, click format cells (or the handy keyboard shortcut is Ctrl+1), then on the Number tab click Custom at the bottom of the column on the left. In the "Type" text box, enter: dd.mm.yyyy

  3. The next time you refresh the data, Excel should retain the German formatting of your dates. You can use anything in these columns for calculations, Excel knows they are dates.

Andi Mohr

Posted 2012-08-08T12:00:22.030

Reputation: 3 750