首页 > 解决方案 > 视图的变量类型转换 | varchar(最大)到(250)

问题描述

是否可以将varchar(max)表格转换varchar(250)为视图?

Id type int
Textxxx type varchar(max)

dbo.表:

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))

???

标签: sql-servertsqlsql-server-2012ssms

解决方案


您可以使用 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)的转换是一种隐式转换,但如果大值的大小超过较小数据类型的指定长度,则会发生截断.


推荐阅读