我是SQL Server的新手。我已经将一个Excel文件导入到我的SQL Server数据库中。有一列名称为myDate
的列,它显示日期,例如:20.07.2018
。
我确实在表上单击鼠标右键,然后选择“选择1000行”,并在其中添加了转换代码,但这没有用!我的结果和以前一样! (格式未更改)。有谁知道为什么它没有改变?
这是我写的:
select convert (varchar,[dateColumn],102) as date2
from [test1].[dbo].[change1]
Go
答案 0 :(得分:0)
使用列名作为myDate并不意味着其数据类型是date,datetime或datetime2。显然,您的数据类型是VARCHAR。您应将date,datetime或datetime2用于此类列。
要进行转换,您可以这样做:
SET DATEFORMAT DMY;
SELECT convert (varchar, TRY_CAST(myDate AS DATE),102) as date2
from [test1].[dbo].[change1];
(同样有疑问,为什么要转换为varchar)。