Sql server 在SQL Server(AWS RDS发行版)中以dd-mm-yyyy格式或dd.mm.yyyy格式存储日期

Sql server 在SQL Server(AWS RDS发行版)中以dd-mm-yyyy格式或dd.mm.yyyy格式存储日期,sql-server,date,formatting,Sql Server,Date,Formatting,我正在将数据从DB2forz/os(大型机)迁移到SQLServer的RDS发行版 在大型机中,日期以欧元格式(DD.MM.YYYY)存储,当我将数据迁移到SQL Server时,数据以YYYY-MM-DD ISO格式存储在SQL Server中 我所有的应用程序都希望日期是DD.YY.MMMM格式。我知道我可以在应用程序中使用convert函数来格式化日期,以便转换为欧元格式。如果我走这条路,有成千上万的计划需要改变 有没有办法强制SQL Server以DD.MM.YYYY或DD/MM/YYY

我正在将数据从DB2forz/os(大型机)迁移到SQLServer的RDS发行版

在大型机中,日期以欧元格式(DD.MM.YYYY)存储,当我将数据迁移到SQL Server时,数据以YYYY-MM-DD ISO格式存储在SQL Server中

我所有的应用程序都希望日期是DD.YY.MMMM格式。我知道我可以在应用程序中使用convert函数来格式化日期,以便转换为欧元格式。如果我走这条路,有成千上万的计划需要改变

有没有办法强制SQL Server以DD.MM.YYYY或DD/MM/YYYY格式存储日期

我已经尝试将SQL server的默认语言更改为“英国英语”,但似乎没有任何帮助。当我发布“DBCC USEROPTIONS”时,它将语言显示为“BRITISH”,日期显示为“dmy”,但当应用程序检索日期时,它仍然是yyyy-mm-dd格式

我的应用程序通过ODBC驱动程序连接到SQL Server,我已尝试从控制面板更改操作系统日期以及dd/mm/yyyy格式。关于这个问题的任何建议都会大有裨益

提前谢谢


我已经尝试将SQL server的默认语言更改为“英国英语”,但似乎没有任何帮助。当我发布“DBCC USEROPTIONS”时,它将语言显示为“英制”,日期显示为“dmy”,但当应用程序检索日期时,它仍然仅为yyyy-mm-dd格式。

如果您想保证返回的日期为dd.mm.yyyy,则可以将其转换为字符串:

select convert(char(10), datecol, 104)
在SQL Server中,可以通过使用视图或向表中添加计算列来处理此问题:

alter table d add datecol_ddmmyyyy as ( convert(char(10), datecol, 104) );

否则,应用程序应该能够以本机格式接收SQL Server日期。这仅在它们被转换为字符串时才相关。

SQL Server不以任何特定格式存储日期,而是以二进制数据的形式存储。只有在获取数据并将其显示在管理工具(如SSMS)或应用程序中时,才会进行格式化。因此,您无法将SQL Server“强制”为任何特定格式-因为没有…谢谢Marc。。。。那么,有没有一种方法可以默认从服务器返回DD.MM.YYYY或DD/MM/YYYY格式的日期值,而不必更改应用程序代码?