问题标签 [varcharmax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1810 浏览

sql-server - 如何使用 JPA EclipseLink 在 SQL Server 中生成 varchar(max) 列

在 SQL Server 中,我有一些生成列“文本”类型的问题。使用 PostgreSQL 时,相同的类注释可以正常工作。

我试过了:

和这个:

但两者都生成“文本”列类型。

我正在使用以下版本的 Eclipse Link:

是否可以为 SQL Server 生成 varchar(MAX) 列?如何?谢谢!

0 投票
2 回答
2072 浏览

sql - Varchar(Max) 在 Exec 中不起作用

我有一个variable其中SQL存储了字符串并正在通过它执行它exec()

但我得到错误说

sometext 附近的语法不正确

这是因为变量@sql不能保存整个字符串。所以我通过将字符串拆分为两个不同的变量来修复并执行它

我检查了数据长度@sql1+ @sql2

它回来了14677

现在的问题是为什么varchar(max)不能存储14677字节信息?当文件说它可以存储多达2GB数据时

0 投票
4 回答
1372 浏览

sql - SQL Server 2008 VarChar(Max) 仅返回 8000 个字符。为什么?

这将返回到窗口 7,997 个字符。

这将返回到网格 7,996 个字符。打印窗口中的额外字符是 CRLF。我有这样的选择:工具→选项→查询结果→结果到文本→每列中显示的最大字符数= 8192

因此,我希望在网格中返回 8,192 个字符,并且希望在我的窗口中返回 11,001 个字符。

然后是这个测试:

我在这里的理解中缺少什么?它似乎根本不像我预期的那样表现?

0 投票
0 回答
463 浏览

mysql - 将 Mysql varchar(8192) 转换为 MSSQL 数据类型

我正在将 MYSQL 数据库迁移到 MSSQL。
我有一个数据类型为 MYSQL 的列varchar(8192)
就性能而言, MSSQLvarchar(8000)似乎是最好的,但可能存在 8000 到 8192 之间的数据。
我很好奇为此使用的最高效的 MSSQL 数据类型。
我查看此问题的唯一方法是询问我是否有实际上介于 8000 和 8192 之间的数据以及查找频率?
如果它只有几行,那么使用 MSSQLVarchar(max)如果很多,那么我该怎么办?

AFAIK,如果我有一个数据为 MSSQL varchar < 8000 的行的表,这些将被视为行,并且任何 > 8000 将是 lob?
MSSQL会不会有不同的搜索策略,比如先搜索所有大小<8000的行,然后再搜索其他地方的数据> 8000?
如果是这种情况,如果我有 1000 行 < 8000 和 1 行 > 8000,这是数据库中的第一个,那不会对性能造成更大的影响,因为它会经历 1001 行。索引应该有帮助,是否建议?

0 投票
2 回答
1848 浏览

sql-server - 在 varchar(max) 列中的所有文本中搜索

谷歌搜索的结果是,LIKE运算符和CHARINDEX()函数都只搜索 varchar(max) 列的前 8K。

  1. 这是一个正确的说法吗?
  2. 如果是这样,如何在不启用全文搜索功能的情况下在 varchar(max) 列的全文中搜索子字符串(如果这甚至有意义)?

更新:在SQL Server 2008 (10.0.5538.0)上搜索超过 8K 对我不起作用。

0 投票
0 回答
92 浏览

sql-server - 将列从 ntext 更改为 varchar(max) 后,查询变得稍慢

将列从 ntext 更改为 varchar(max) 后,查询会稍微变慢。

我正在做一个

对比

在此处输入图像描述

我认为由于 lob 逻辑读取减少了很多(213860 对 6)与逻辑读取的增益(2572 对 3384)相比。查询会更快,即使 CPU 时间更快(812 对 547),运行时间也更慢(2032 对 3384)。

注意:我多次运行相同的比较,并且 table_with_ntext 总是以相似的幅度更快。

有人可以解释这种行为吗?

谢谢

在此处输入图像描述

执行计划,按要求粘贴

0 投票
1 回答
162 浏览

sql-server - 从 TEXT 转换为 VARCHAR(MAX) 后重新组织表

我有一张带一TEXT列的大桌子。我将该列更改为VARCHAR(MAX)使用以下语句:

TEXT我读到与新的等价物之间的区别在于VARCHAR(MAX),少于 8k 字符的记录在内部存储为纯文本而不是 BLOB。

运行上面的语句只用了不到一秒钟,所以我假设没有进行任何重组。我想知道是否有任何存储过程或类似的东西这样做?

由于我的表中只有不到 2% 的记录有超过 8k 的字符,我想知道如果 SQL Server 会改变它存储数据的方式,我是否可以在选择 Details 列时获得性能提升?!

0 投票
0 回答
59 浏览

.net - SQL Server 语义搜索:varchar(max) vs filetable

根据您的经验,对 html、word 和 pdf 文件执行语义搜索的最佳选择是什么?文件应该保存在varchar(max)列中还是直接保存在磁盘上(在 a 中FileTable)?

文件大小不限于最大预定义大小,但其中大多数预计超过 1 或 2 MB。我们认为我们每个月将有数千个文档(我们可能每年上传超过 20 万个文件),我们有兴趣从这 3 种类型的文件中获取结果。

你有什么建议?

多谢你们!

路易斯

0 投票
1 回答
111 浏览

sql-server - 无法从数据库中删除文本类型列上具有空值的行

尝试在 SQL Squirrel 中从我的数据库中删除一行时,出现以下错误。

在此处输入图像描述

现在,当 text-type 列的值为 ''(如空)时,会发生这种情况,当它为 null 时,删除时不会出错。

为什么是这样?如果我将列转换为 varchar(max) 类型而不是文本类型会有帮助吗?这有什么可能的危险吗?

0 投票
0 回答
1359 浏览

c# - 将一个很长的字符串参数传递给 sql server 存储过程

我需要通过实体框架将一个很长的字符串参数从 C# 传递到 MSSQL 服务器存储过程。为此,我想使用 VARCHAR(MAX) 作为存储过程的输入参数类型。我发现 VARCHAR(MAX) 最多支持从以下链接存储 2^31-1 个字符。

但是,让我担心的是,当我将这个长字符串传递给存储过程时,在从 C# 到 sql server 存储过程的通信过程中会有任何数据丢失,因此 VARCHAR(MAX) 输入参数不会接收到从 C# 发送的所有字符?

任何指导或帮助将不胜感激。谢谢。

https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server

可以从 SQL Server 2008 中的存储过程返回到 .net 应用程序的最大字符串长度