Why Sql Server management studio use English regional settings instead the local Windows settings

ssms

Scenario:

I've a Sql Server instance on English Windows Server.

But I've my own ITALIAN client with Sql Server Management Studio and SSMS regional settings set to Italian.

So when I extract data, i need separator as follow :

, (comma) for decimal

. (point) for thousands

Example: 1.065,00

Instead , Sql Server Management Studio return me number like:

1065.0000

(point for decimal separator)

If I copy & paste into Excel all data are mess..

How can I do without writing specific query with "Format" or similar ?

Thanks

Example : point , but i need comma!
enter image description here

Best Answer

SSMS is inconsistent. For some data types, it uses comma (I'm Swedish) as decimal separator. For other types, it uses dot.

For money and float SSMS presents comma, but for decimal I get dot. None of them gives me a thousand separator.

SELECT CAST(3000.1 AS money), CAST(3000.1 AS float), CAST(3000.1 AS decimal(9,2))

I guess that one could consider the inconsistency a bug.

SSMS was never designed to be an end-user tool, so we pretty much have to accept what we are given. If we don't like how SSMS present the data returned from SQL Server we can open a feature request for this to Microsoft: https://feedback.azure.com/forums/908035-sql-server

I wouldn't have too much hope for this to be addressed.