问题标签 [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 回答
18636 浏览

java - 将国家字符插入 oracle NCHAR 或 NVARCHAR 列不起作用

在 oracle 数据库中插入字符串时,一些国家字符被问号替换,即使它们被插入到 NCHAR 或 NVARCHAR 列中 - 这应该能够处理所有 Unicode 字符。

使用 Oracle 的 SQL Developer、sqlplus 或使用 JDBC 驱动程序会发生这种情况。

数据库 NLS_CHARACTERSET 设置为 WE8ISO8859P1(西欧 iso-8859-1) 用于 NCHAR 列的 NLS_NCHAR_CHARACTERSET 设置为 AL16UTF16。(UTF-16)

不在 NLS_CHARACTERSET 中的任何字符似乎都替换为倒置问号。

0 投票
1 回答
2710 浏览

.net - 在移动设备上使用 nvarchar(MAX)

我们正在为运行 WinCE 或 WinMobile 6.5 的台式机和 PPC 设备开发 .NET (Compact) Framework 2.0 应用程序

最近我们开始使用 SQL Server 2005 及其新功能 nvarchar(max)。在台式机上一切正常。但是在 PPC 上,我们会遇到以下问题:

对于 nvarchar(max) SQL 参数,ParameterSize 必须指定为 -1。这在桌面(完整框架 2.0)上运行良好,但在 PPC 上,发生异常:

System.ArgumentException:无效的参数大小值 -1。该值必须大于或等于 0。

我认为我们已经安装了一个适当的 CAB 文件,以便从移动设备使用 SQL Server(在 Microsoft SQL Server 2005 Mobile Edition Device SDK 中找到,命名为 sql.wce5.armv4i.cab),但我现在无法测试这个我没有设备。

问题是:Compact Framework 2.0、SQL Server 2005 移动设备平台是否支持 nvarchar(max)?我如何使它工作?

0 投票
1 回答
3395 浏览

sql - nvarchar 列大小对性能的影响

可能重复:
在数据库设计中夸大字段大小

我的一张表中有一个“描述”列,到目前为止我不知道它的最大大小。但我假设它不应超过 1000 个字符。

问题:如果我将其设为 nvarchar(4000) [只是为了安全] 会对性能产生不利影响吗?

谢谢。

0 投票
1 回答
143 浏览

sql - 将 nvarchar(max) 与非索引字段一起使用的影响

谁能解释将字符串存储到定义为 nvarchar(max) 的列中而不是定义说 nvarchar(500) 的长度的含义?该表将包含多个字段,并且可能包含超过 1000 万条记录。这些字段也不会被索引。

谢谢!

0 投票
3 回答
24651 浏览

string - linq 查询到列表的语法

我正在尝试做这样的事情......

Visual Studio 说...

无法将类型“System.Linq.IQueryable>”隐式转换为“System.Collections.Generic.List”。存在显式转换(您是否缺少演员表?)

什么是正确的语法???

0 投票
3 回答
27618 浏览

sql - 将 Varchar 转换为 NVarchar?

我知道从 转换为nvarcharvarchar,一些数据会丢失/更改。

但是,将varchar数据类型转换为nvarchar?

0 投票
2 回答
3195 浏览

sql-server - 从 sql server 迁移到 Oracle varchar 长度问题

我在尝试从 sql server 迁移到 oracle 时遇到了一个奇怪的问题。在我的一个表中,我有一个列定义为NVARCHAR(255) 在读了一点之后我明白当 oracle 计算字节时 SQL 服务器正在计算字符。所以我在 oracle 中将我的表定义为VARCHAR(510)255*2 = 510 但是当使用 sqlldr 从制表符分隔的文本文件中加载数据时,我收到错误消息,表明某些条目已超过此列的长度。使用以下命令签入 sql server 后:

我知道最大数据长度是 510。

我确实使用了希伯来语_CI_AS collat​​iong,即使我认为它没有任何改变......一个想法?

编辑 经过进一步检查,我注意到问题是由于数据文件造成的(除了@Justin Cave 帖子解决的问题。

我已将行分隔符更改为“^”,因为我的数据都不包含此字符和“|^|” 作为列分隔符。

创建一个控制文件如下:

问题是我的数据包含<CR>并且 sqlldr 期望那里有一个流文件失败<CR>!!!我不想更改数据,因为它是文本数据(例如错误消息)。

0 投票
1 回答
2678 浏览

oracle - 如何使用 plsql 开发人员将数据插入 NVARCHAR2 字段?

我有一个包含 NVARCHAR2 字段的表,我尝试在PL/SQL Developer中执行 INSERT 语句来插入一些中文字符,但我无法使其工作。下面是我使用的sql:

但是在使用Oracle SQL Developer时只需设置选项就可以正常工作convertNcharLiterals=true所以我想知道PL/SQL Developer是否有类似的选项?

提前致谢。

0 投票
1 回答
5052 浏览

tsql - T-SQL 中 varchar 和 nvarchar 的奇怪长度

我有一个关于 Transcat SQL 的问题,下面是 sql 代码;

@main 的长度是正确的,例如 4007 但是,如果我将代码更改为以下:

@main 的长度总是 4000,这很奇怪,我不明白。另一件事是,如果我将代码更改为以下内容:

@main 的长度是 4000,为什么?无论我在'01234567890123456789...'之前添加字母N吗?如果我将@split 更改为 varchar(500) DECLARE @main nVARCHAR(max), @split VARCHAR(500);

@main 的长度是正确的,不管我在 ''01234567890123456789...' 前加字母 N 与否,@main 的长度总是 5000

0 投票
1 回答
2560 浏览

sql-server - 无论登录日期格式如何,都将 nvarchar 转换为 datetime?

我有 2 台具有两种不同登录日期格式 ( English& British English) 的服务器。

CAST无论日期格式如何,我都需要能够将nvarchar 值转换为 datetime。

我有以下查询:

这适用于一台服务器,但不适用于另一台服务器。

有没有另一种方法可以表示为两个服务器13/7/2011的对象?datetime

为了保持一致性,两台服务器上的查询需要相同。