问题标签 [nvarchar]

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 投票
4 回答
440 浏览

sql - 选择非空列

我有一个带有varbinary(max)列和nvarchar(max)列的表。其中一个为空,另一个有值。

我想返回值为 varbinary(max) 列的列。到目前为止,我已经尝试过这个,但它不起作用:

0 投票
3 回答
26833 浏览

sql-server - SQL 性能:使用 NVarchar(MAX) 代替 NVarChar(200) 是否有任何性能影响

我想知道定义 nvarchar(max) 类型的列而不是给它一个(较小的)最大大小是否有任何缺点。

我在某处读到,如果列值超过 4?KB,则剩余数据将被添加到“溢出”区域,这没关系。

我正在创建一个表格,其中大部分时间文本只有几行,但我想知道设置下限然后添加验证以避免打破该限制是否有任何优势。

对使用 nvarchar(max) 列创建索引是否有任何限制,或者是否需要为必须添加对大小限制的限制而付出代价?

谢谢!

0 投票
3 回答
5357 浏览

sql-server - SQL Server 中 NVARCHAR 列的按子句排序

我需要按nvarchar列排序。问题是该列没有相同的条目模式,该列的某些行的示例是

如何按 order By 子句对该列进行排序?我唯一感到欣慰的是,此列仅包含数字和字母数字字符。

0 投票
1 回答
22384 浏览

oracle - Oracle Text 不适用于 NVARCHAR2。还有什么可能不可用?

我们将迁移应用程序以使其支持 Unicode,并且必须在整个数据库的 unicode 字符集或存储在 N[VAR]CHAR2 中的 unicode 列之间进行选择。

我们知道,如果我们选择 NVARCHAR2,我们将不再有使用 Oracle Text 索引列内容的可能性,因为 Oracle Text 只能基于 CHAR 类型来索引列。

除此之外,从 Oracle 的可能性中收获时是否可能会出现其他主要差异?

此外,是否有可能在较新版本的 Oracle 中添加了一些新功能,但仅支持 CHAR 列或 NCHAR 列,但不支持两者?

谢谢您的回答。

请注意贾斯汀的回答:

谢谢您的回答。我将讨论您的观点,适用于我们的案例:

我们的应用程序通常单独在 Oracle 数据库上,并自行处理数据。其他连接数据库的软件仅限于 Toad、Tora 或 SQL developer。

我们还使用 SQL*Loader 和 SQL*Plus 与数据库进行通信以获取基本语句或在产品版本之间进行升级。我们还没有听说所有关于 NVARCHAR2 的软件有任何具体问题。

我们也不知道我们的客户中的数据库管理员愿意在数据库上使用其他无法支持 NVARCHAR2 数据的工具,我们并不真正担心他们的工具是否会中断,毕竟他们的工作很熟练并且可能会发现必要时使用其他工具。

您的最后两点对我们的案例更有洞察力。我们不使用 Oracle 的许多内置包,但它仍然会发生。我们将探讨这个问题。

如果我们wchar_t用于存储 UTF-16 的应用程序(在 Visual C++ 下编译)必须对所有处理过的数据执行编码转换,我们是否还会预期性能受损?

0 投票
1 回答
720 浏览

sql-server-2005 - SQL 2005 nvarchar(max) 问题

我在存储过程中有以下内容:

当我做一个PRINT LEN(@TSQL) 7968返回。为什么@TSQL 的其余部分被切断了?

0 投票
1 回答
1122 浏览

sql-server-2008 - 在 Sql Server 2008 中处理较大的字符串

我们创建了一个存储过程,以便用户可以在其软件产品的管理员中编写逗号分隔的搜索标签。所以他可以添加逗号分隔的标签,如果他想编辑它们,我们从表中读取所有标签,在存储过程中将它们重新创建为逗号分隔值 (CSV) 并将其返回给调用代码。最近发生的事情,用户抱怨他看不到他写的新 CSV。我调查了一下,发现存储过程在从数据库中读取值并创建 CSV 字符串时截断了字符串。该字符串的类型为 nvarchar,并且由于其超过了 4000 个限制的最大字符数,因此这些值会被截断。关于如何解决这个问题的任何想法。

在下面找到我的代码。

结尾

I can't use text and ntext as they do not play nice with concatenation operations.

Thanks.

0 投票
2 回答
3697 浏览

sql-server - SQL LIKE 运算符不适用于亚洲语言 (SQL Server 2008)

亲爱的朋友们,我遇到了一个从未想过的问题。我的问题似乎太简单了,但我找不到解决方案。我有一个 NVarchar 类型的 sql server 数据库列,并用标准波斯字符填充。当我尝试对其运行包含 LIKE 运算符的非常简单的查询时,结果集变为空,尽管我知道查询项存在于表中。这是一个非常简单的示例查询,它的行为并不正确:SELECT * FROM T_Contacts WHERE C_ContactName LIKE '%ف%'

ف 是一个波斯字符,ContactName 列包含多个包含该字符的条目。

请告诉我应该如何重写表达式或应该应用什么更改。请注意,我的数据库的排序规则是 SQL_Latin1_General_CP1_CI_AS。

非常感谢

0 投票
1 回答
29539 浏览

sql - 将 ntext 转换为 nvcharmax(max) - 绕过大小限制

我正在尝试将现有的 SQL NText列更改为nvcharmax(max),并遇到大小限制错误。我相信有大量的现有数据,其中一些超过了 8k 的限制。

我们正在寻找转换它,以便在 LINQ 中可以搜索该字段。

我尝试过的 2x SQL 语句是:

我得到的错误是:

这是使用 SQL Server 2008。

任何帮助表示赞赏,谢谢。


更新/解决方案:

下面标记的答案是正确的,SQL 2008 可以在我的情况下将列更改为正确的数据类型,并且我们在其上使用的 LINQ 应用程序没有任何戏剧性:

我还被建议跟进:

它通过将数据从 lob 结构移动到表(如果长度小于 8k)来完成转换,从而提高性能/保持正确。

0 投票
5 回答
14754 浏览

c# - nVarchar 和 SqlParameter

我正在开发一个必须支持多种语言的应用程序。为了解决特殊字符问题,我将 NVarhcar 用于我的文本字段。所以我对文本字段的 SQL 查询是

我的问题是将它放在 SqlCommand 中,即"insert into tbl_text(text)values(N@text)". 当然,它保存"N@text"在数据库表中。

你们知道有什么办法吗?我正在使用 C# 和 SQL 2008。

对不起,如果很难理解我的问题。我的英语很差=/

0 投票
2 回答
8814 浏览

sqlite - 我们可以在 sqlite 中为 nvarchar 提供的最大大小是多少?

在 SqlServer 中我们可以使用 NVarchar(MAX) 但这在 sqlite 中是不可能的。我可以为 Nvarchar(?) 提供的最大大小是多少?