视图的变量类型转换 | varchar(最大)到(250)

Variable type conversion for a view | varchar (max) to (250)

是否可以将 table 中的 varchar(max) 转换为视图中的 varchar(250)

Id type int
Textxxx type varchar(max)

dbo.Table:

Id | textxxx
—--+------
 1 | aaaa
 2 | bbbb

查询

CREATE VIEW dbo.view
    SELECT ALL [Textxxx] 
    FROM DBO.Table
go

我想将此文本 (varchar(max)) 转换为 varchar(250)

我完全不知道该怎么做,我应该使用:

CONVERT([Text], varchar(250))

???

您可以使用 CAST 或 CONVERT 函数。

示例如下

CREATE OR ALTER VIEW dbo.ViewsText
AS
    SELECT 
                ID
                ,TextWithCast = CAST(textxxx AS varchar(250)
                ,TextWithConvert = CONVERT (varchar(250), textxxx)
FROM 
         dbo.Table
                

从大值数据类型(如varchar(max))转换为较小的对应数据类型(如varchar)是隐式转换,但如果大值的大小超过指定长度,则会发生截断较小的数据类型。