首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >varchar(max) = varchar吗?

varchar(max) = varchar吗?
EN

Stack Overflow用户
提问于 2010-06-28 22:02:29
回答 3查看 221关注 0票数 4

我注意到我可以写

代码语言:javascript
复制
SELECT CAST(Min(mynumber) AS VARCHAR(Max))+'mystring' AS X

作为

代码语言:javascript
复制
SELECT CAST(Min(mynumber) AS VARCHAR)+'mystring' X

我会后悔遗漏了(Max)参数吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-28 22:25:48

如果在数据定义或变量声明语句中未指定varchar的长度,则缺省长度为1。如果在使用CAST和CONVERT函数时未指定该长度,则缺省长度为30。

请参阅:char and varchar (Transact-SQL)

我觉得在不指定varchar长度的情况下编写代码是很糟糕的做法。

票数 2
EN

Stack Overflow用户

发布于 2010-06-28 22:06:31

MAX(mynumber)超过30个字符的情况下(不太可能),你会后悔的:

When is not specified when using the CAST and CONVERT functions, the default length is 30.

票数 8
EN

Stack Overflow用户

发布于 2010-06-28 22:19:02

对于使用普通数据页的大型Objects.It,应该使用VARCHAR(MAX),直到内容实际填满8k数据为止。当发生溢出时,数据被存储为旧文本、图像和指针替换旧内容。是用于可变长度的非Unicode字符数据。N可以是1到8,000之间的值。Max表示最大存储大小为2^31-1字节。希望能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3133014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档