我将一些数据插入到不同SQL服务器上的表中,为此我创建了一个dtsx包,
我们需要dd-mm-yyyy格式的目标表中的数据,我使用下面的查询将日期转换为所需的格式
Convert(varchar,dbo.Member.DateOfBirth,105)
在SSMS中运行查询时,它会将完美转换的数据提供为' 25-08-1989'
但是当我在插入后在目的地表格中检查它时,它显示日期为' 1989-08-25'
有人可以告诉我为什么目标表在转换后不接受dd-mm-yyyy格式的日期吗?
我是新来的,抱歉格式错误....
答案 0 :(得分:0)
您可能会混淆客户端的格式化某些(不存在的)服务器日期格式的日期的方式。空无一人。所有日期类型都是二进制值,就像int,float和decimal一样。 客户端将它们格式化为字符串以显示它们。
SSMS只不过是一个专门的客户。默认情况下,日期根据您的(用户)区域设置进行格式化。这可能会导致混淆,当同一个日期显示为25/9/2017一个用户,但9/25/2017到另一个用户。虽然日期仍然相同。
但是,DBA和开发人员并不关心本地化格式。 SSMS使用YYYY-MM-DD
来避免混淆。