问题标签 [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 投票
2 回答
1566 浏览

sql-server-2005 - varchar() 和 nvarchar() 之间奇怪的 SQL Server 2005 排序规则差异

有人可以解释一下吗:

结果: 0 1

结果: 1 1

在第一个查询中,nvarchar()结果不是我所期望的,但删除X使nvarchar()排序按预期发生。

(我最初的查询使用''andN''文字语法来区分varchar()andnvarchar()而不是CAST()得到相同的结果。)

数据库的排序规则设置为SQL_Latin1_General_CP1_CI_AS.

0 投票
1 回答
1651 浏览

sql-server - Access 对 SQL Server 中的 nvarchar 等支持 unicode 的数据类型有任何问题吗?

我使用 Access 2003 作为 SQL Server 2008 数据库的前端 UI。在查看我的 SQL Server 数据库设计时,我想知道 nvarchar 是否是使用 varchar 的正确选择。我选择 nvarchar 是因为我认为它在需要输入任何由 unicode 表示的字符时会很有用。但是,我没有考虑使用 uni-code 数据类型的 Access 2003 可能存在的任何问题。Access 2003 在 SQL Server 中使用 unicode 数据类型(即 nvarchar)是否存在任何问题?谢谢你。

0 投票
1 回答
2443 浏览

sql - SQL 插入多语言数据 - 丢失变音符号等

将多语言数据插入 SQL 2008 数据库(nvarchar 字段) 我注意到它似乎丢失了一些特殊字符标记。

例如

被插入为“Numar unic de referinta (URN)”

尽管如果我执行“编辑前 200 行”,我可以毫无问题地将相同的文本直接粘贴到该字段中。

请问我错过了什么?

0 投票
4 回答
1684 浏览

mysql - mysql中长utf8字符串的理想数据类型

mysql中的类型是否VARCHAR只支持 255 个字符的数据长度?如果是真的 UTF8 字符串的哪种数据类型对长文本有用?我正在使用utf8_persian_ci数据类型。

请注意,TEXT 数据类型与utf8_persian_ci.

0 投票
5 回答
7116 浏览

sql - nvarchar 连接问题

在处理完所有困难的事情后,我可能正在尝试做一件简单的事情,但这似乎让我头疼。我正在尝试将文本连接到变量 @strXml 中,该变量是用于构建 Xml 元素的 nvarchar 变量,但 @strXml 返回 null。请帮忙。我在下面发布我的代码。

当我运行最后一个查询时,它返回 null。即使在调试模式下,我也看不到 @strXml 更新了每一行的值。请帮忙!谢谢。

0 投票
1 回答
2839 浏览

nhibernate - FluentNHibernate 和 VARCHAR 列

我正在使用FluentNhibernate开始一个简单的 .NET 项目。
我遵循了我在 Internet 上找到的几个示例,并且似乎很容易掌握。
我已经意识到,如果我让 FluentNhibernate 构建我的数据库模式(Sql Server 2000),它会为我的字符串模型属性生成NVARCHAR字段。

有人建议我可以添加一个约定来更改类型。

这段代码效果很好:

现在我的数据库字段是 VARCHAR,正如我所料。
我需要向我的类添加一个组件,遵循 DDD 模式,我将地址放在一个单独的类中,并将其添加到我的客户类中。
我为地址创建了一个单独的映射文件:

现在,我的 Customer 表的所有字段都是 VARCHAR,但地址(街道、城市和邮政编码)组件的字段仍然创建为 NVARCHAR。

0 投票
5 回答
34637 浏览

tsql - T-SQL:如何获取字符串的确切长度?

我正在为预先没有数据类型信息的表生成 T-SQL SELECT 语句。在这些语句中,我需要执行取决于表列的原始值长度的字符串操作操作。

一个示例(但不是唯一的示例)是在字符串的特定位置插入一些文本,包括在末尾插入的选项:

(CASE WHEN + LEN 是必需的,因为 STUFF 不允许我在字符串末尾插入文本。)

问题是 LEN 不包括尾随空格,这会破坏计算。我知道我可以使用不排除尾随空格的 DATALENGTH,但我无法将 DATALENGTH 返回的字节转换为 STUFF 所需的字符,因为我不知道 Product 列的类型是 varchar 还是 nvarchar。

那么,如何在没有关于正在使用的字符串数据类型的前期信息的情况下生成一个取决于字符串的确切长度的 SQL 语句?

0 投票
4 回答
2274 浏览

c# - C# 错误:将 nvarchar 数据类型转换为 int 时出错。帮助!

我的 c# 应用程序真的很难。每次我运行下面的代码时,它都会给我一个关于将 nvarchar 数据类型转换为 int 的错误。我试过铸造,但它似乎不起作用。

这是我正在使用的存储过程:

我在这里要做的是检查用户输入的同年同月的时间段是否已经存在于数据库中。所以基本上,如果输入的周期已经存在,存储过程应该返回一个值,如果存在,那么MessageBox将向用户显示一个值,提醒用户存在相同的周期。非常感谢!:)

0 投票
3 回答
22767 浏览

sql - SQL 国家字符 (NCHAR) 数据类型的真正用途是什么?

除了CHAR (CHARACTER)and VARCHAR (CHARACTER VARYING),SQL 还提供了NCHAR (NATIONAL CHARACTER)andNVARCHAR (NATIONAL CHARACTER VARYING)类型。在某些数据库中,这是用于字符(非二进制)字符串的更好数据类型:

  • 在 SQL Server 中,NCHAR以 UTF-16LE 形式存储,并且是可靠存储非 ASCII 字符的唯一方法,仅CHAR作为单字节代码页;

  • 在 Oracle 中,NVARCHAR可能存储为 UTF-16 或 UTF-8 而不是单字节排序规则;

  • 但是在 MySQL 中,NVARCHARisVARCHAR没有区别,任何一种类型都可以使用 UTF-8 或任何其他排序规则存储。

那么,NATIONAL如果有的话,实际上在概念上意味着什么?供应商的文档只告诉您他们自己的 DBMS 使用的字符集,而不是实际的基本原理。同时,SQL92 标准对这个特性的解释更没有帮助,只说明NATIONAL CHARACTER存储在实现定义的字符集中。CHARACTER与存储在实现定义的字符集中的单纯相反。这可能是不同的实现定义的字符集。或不。

谢谢,ANSI。坦西。

是否应该NVARCHAR用于所有字符(非二进制)存储目的?是否有当前流行的 DBMS 会做一些不受欢迎的事情,或者只是不识别关键字(或N''文字)?

0 投票
3 回答
456 浏览

sql-server-2008 - 有没有办法让 SQL Server 自动对 nvarchar 字段的哈希值进行选择?

我不确定如何更好地表达这个问题,所以我可能错过了之前提出的问题。随意关闭它并指出正确的一个(如果存在)。

我有一个包含两个重要列的表(也就是说它有更多但只有两个与这个问题有关)。第一列是一个 GUID(一个 id),第二列是一个 nvarchar(存储一个 URL)。ID 和 URL 的组合必须是唯一的(因此可以重复相同的 guid,但每行具有不同的 URL,反之亦然,但不能有超过一行相同的 guid 和 URL)。

目前,在每次 INSERT 之前,我都会执行 SELECT 以查看是否存在具有相同 id 和 URL 的行。但是,看起来 nvarchar 上的查找速度很慢。因此,我想我会更新表以存储一个额外的列,该列在插入时用 URL 的哈希 (SHA1) 填充。现在我们只查找较小的哈希(varbinary?),我认为它会比以前快得多。

有没有办法让 SQL Server 2008 自动存储散列并针对该散列值而不是实际文本进行查找?我假设这些指标是 b 树,所以我要求的是 SQL Server 使用 nvarchar 字段中文本的哈希值创建 b 树,并且当运行选择时,它应该计算哈希并使用哈希值在树中查找。这可能吗?