SQL 服务器日期数据类型变为 nvarchar

SQL Server date datatype becomes nvarchar

经过这么多年,我已经成为使用 SQL 服务器的项目的一部分。这次是 2017 年。我在创建 table.

时发现了一个非常奇怪的行为
create table test (sampledate date)

如果我在上面 运行 并检查列 sampledate 的数据类型,它显示 nvarchar 而不是日期。这会导致我的应用程序出错。

顺便说一句,我正在使用 DBVisualizer 检查数据类型,我相信这不是因为这个工具。

看看这一段Microsoft documentation。它解释了对于下层客户端,date 数据类型的向后兼容性通过转换为 String/Varchar 来确保。所以它可能真的来自DBVisualizer的使用。
对于您的应用,请检查您使用的客户端版本。