假设您有下表:
CREATE TABLE [dbo].[Test]
(
[Value] [sql_variant] NOT NULL
)让我们插入一些DATETIME2值:
INSERT INTO [dbo].[Test]
(
[Value]
)
VALUES
(
SYSUTCDATETIME()
)现在,让我们看看结果:
SELECT
[Value],
SQL_VARIANT_PROPERTY([Value], 'BaseType') AS BaseType
FROM
[dbo].[Test]
Value BaseType
-----------------------------------
2019-11-25 19:39:43.274 datetime2
2019-11-25 19:43:49.735 datetime2为什么值会被截断?
发布于 2019-11-26 03:54:58
在使用sql_variant时,您需要具体说明希望返回的数据类型;否则SQL Server将推断出显示格式。然而,数据并没有被截断。例如,如果您尝试执行以下操作,您将看到Value_DT2的结果为datetime2(7)
SELECT [Value],
CONVERT(datetime2,[Value]) AS Value_DT2,
SQL_VARIANT_PROPERTY([Value], 'BaseType') AS BaseType
FROM [dbo].[Test];https://stackoverflow.com/questions/59039145
复制相似问题