SQL: Zahlen in lokalem Format

Problem Darstellung eines Ergebnisses per T-SQL möchte man gelegentlich unterschiedlich formatieren.
Speziell bei „Datum“ und „Zahlen“ hat man ständig mit Problemen.
Beispiel im SQL hat man ständig Werte wie „9999.99 aber im deutschem Excel wird nicht als 9.999,99“ verstanden und muss ständig mit hohem Zeitaufwand im Excel als „Text“ eingelesen und dann werden bei den betroffenen Spalten erst Punkt in Komma gewandelt und dann müsse die Spalten in die richtige Formate gebracht werden.
Bei DATUM lässt sich das in einer T-SQL Abfrage mit einem einfachen „SET“-Kommando anpassen. Leider gibt’s bisher keine einfache Lösung bei Microsoft.
Daher hilft möglicherweise der „FORMAT“-Befehl…

SELECT
    -- c => currency
    -- n => numeric
    FORMAT(987654321, N'N', C.culture) AS some_number
,   FORMAT(987654321, N'c', C.culture) AS some_currency
,   C.culture
FROM
    (
        -- Language culture names
        -- http://msdn.microsoft.com/en-us/library/ee825488(v=cs.20).aspx
        VALUES
            ('en-US')
        ,   ('en-GB')
        ,   ('de-DE')
    ) C (culture);

Select FORMAT(987654321, N'N', 'de-DE') AS some_number

Quelle: https://stackoverflow.com/questions/4377352/how-do-i-format-a-number-with-commas-in-t-sql

Excel: Unterschiedliche Endungen / Dateiformat….

Jeder kennt sein Excel und die aktuellen Endungen:

  • xlsx
    Excel Formt ohne Macros
  • xlsm
    Excel Formt mit Macros
  • xlsb
    binäres Format, mit Macros

Speziell das xlsb ist spürbar schneller zu benutzten. Der Start des Excel, die Berechnungen im Excel (soweit Marcros vorhanden sind) und die Dateigröße ist wesentlich kleiner! Der Entscheidende Unterschied ist eben, dass es binäres Format also proprietär – und der Inhalt ist nicht wie eine ZIP-Datei aufgebaut- Man kann den Inhalt also nicht einfach an schauen.

Quelle/n:

http://www.office-loesung.de/ftopic308021_0_0_asc.php
http://www.dateiendung-liste.de/dateiendungen/xl

Microsoft Access Database Engine 2016 Redistributable

Excel-Dateien in ein MS SQL Server importieren ist war schon eine zeitfressende Nervigkeit mit den unterschiedlichen „Störungen“ (einmal positiv beschrieben)…

Wie auch immer dieser o.g. Fehler gibt’s immer wieder einmal vor…
Die Lösung wird ja eigentlich aus der Fehlermeldung vorgibt – aber 32 oder 64 bit? Oder welche Version soll man nehmen?

Link:https://www.microsoft.com/en-us/download/details.aspx?id=54920

Aber diese Fehler sind fast programmiert:

Falls MS Office bereits installiert ist, dann feststellen ob 32 oder 64 bit installiert ist und dann
muss die Installation „/quiet“ erfolgt…
Vorab: Scheinbar wird vom SQL Import/Export-Assistent nur die 32bit Version erkannt! Also ich benötigte immer nur die 32bit Version!

Zitat (o.g. Link):
If Office 365 is already installed, side by side detection will prevent the installation from proceeding. Instead perform a /quiet install of these components from command line. To do so, download the desired AccessDatabaseEngine.exe or AccessDatabaeEngine_x64.exe to your PC, open an administrative command prompt, and provide the installation path and switch Ex: C:\Files\AccessDatabaseEngine.exe /quiet