bri*_*ler 7 t-sql sql-server-2005
例如,假设我有一个视图:
CREATE VIEW [dbo].[PaymentSchedule_vw]
AS
SELECT
[Order].Id [Order Id]
,[PaymentSchedule].Date [Payment Date]
FROM
_Order123 [Order]
INNER JOIN
_Order123_Shedule [PaymentSchedule]
ON
[Order].Id = [PaymentSchedule].OrderId
GO
Run Code Online (Sandbox Code Playgroud)
如何寻找的类型[Order Id]和[Payment Date]?
Mar*_*ith 11
SELECT c.name,
t.name,
c.max_length,
c.precision,
c.scale
FROM sys.columns c
JOIN sys.types t
ON t.user_type_id = c.user_type_id
AND t.system_type_id = c.system_type_id
WHERE object_id = OBJECT_ID('PaymentSchedule_vw')
Run Code Online (Sandbox Code Playgroud)
或者你可以使用SQL_VARIANT_PROPERTY- 这里的一些例子.
SELECT top 1
SQL_VARIANT_PROPERTY([Order Id], 'BaseType') OrderIdBaseType,
SQL_VARIANT_PROPERTY([Payment Date], 'BaseType') PaymentDateBaseType
FROM [PaymentSchedule_vw]
Run Code Online (Sandbox Code Playgroud)
您应该检查以下属性:
SQL_VARIANT_PROPERTY(<column>, 'BaseType'),
SQL_VARIANT_PROPERTY(<column>, 'Precision'),
SQL_VARIANT_PROPERTY(<column>, 'Scale'),
SQL_VARIANT_PROPERTY(<column>, 'MaxLength')
Run Code Online (Sandbox Code Playgroud)
使用SQL_VARIANT_PROPERTY的Advanage是它也可以用于计算列和表达式