使用3部分命名访问SQL Server系统功能

像下面一样,我正在尝试使用数据库名称作为前缀来访问系统功能CAST(),但无法正常工作。

1

错误:EOF

用'sys'或'..'替换'dbo'无效,并且看来CAST仅在没有任何前缀的情况下独立工作。

那两个数据库具有不同的兼容级别,因此输出是不同的,这是我想要一次性捕获的内容。

请问有人知道如何使它工作吗?

tiancaiwyc1984 回答:使用3部分命名访问SQL Server系统功能

如果要显示datetimedatetime2的计算方式有何不同,则需要在具有不同兼容性设置的2个不同数据库的上下文中运行语句,如下所示:

CREATE DATABASE Test2019DB; --I am Running 2019 Preview Edition
GO

CREATE DATABASE Test2012DB;
GO

ALTER DATABASE Test2012DB SET COMPATIBILITY_LEVEL = 110;
GO

USE Test2019DB;
GO
SELECT CONVERT(datetime2(7),CONVERT(datetime,'2019-11-04T11:23:47.123')) AS DT2_2019;
GO

USE Test2012DB;
GO
SELECT CONVERT(datetime2(7),'2019-11-04T11:23:47.123')) AS DT2_2012;
GO

USE master;
GO

--clean up
DROP DATABASE Test2019DB;
DROP DATABASE Test2012DB;

返回值:

DT2_2019
2019-11-04 11:23:47.1233333 

DT2_2012
2019-11-04 11:23:47.1230000
本文链接:https://www.f2er.com/3164601.html

大家都在问