问题标签 [sql-server-collation]

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 投票
3 回答
12777 浏览

sql - SQL Server 土耳其语字符情况

我在 ASP.NET 和 SQL Server 中遇到了土耳其语字符问题。我在 asp.net 中有搜索框并尝试在数据库中进行搜索。但是,我在使用土耳其语字符时遇到问题。当我搜索包含非法“İ”字符的“GALVANİZ”时。我敢肯定,“GALVANİZ”一词在数据库中。

当我在 SQL Server 工具中执行一个简单的选择语句时,它也不会返回任何内容。

这是SQL

这不会返回任何东西。我怎样才能修复它?

谢谢

0 投票
2 回答
166 浏览

sql-server - 替换 NCHAR(1600) 在 SQL Server 上不起作用

当我运行下面的代码时,NCHAR(1600)没有被替换

  • 我的数据库排序规则是Persian_100_CI_AI
  • SQL server 的默认排序规则Persian_100_CI_AI
  • 我的 SQL 服务器版本是Microsoft SQL Server 2017 (RTM-CU3-GDR) (KB4052987) - 14.0.3015.40 (X64)

有谁知道是什么问题?

0 投票
1 回答
176 浏览

sql-server - 从 tcp 端口号获取 SQL Server 实例名称

我有一个场景,我使用 -q 选项来更改 SQL Server 实例的排序规则。命令如下:

上面的命令完美运行,我的实例名称为“.\SQLExpress”。但是如果我想使用带有TCP端口号的实例名称,例如“.,52407”,那么我该如何执行上面的命令,因为我收到以下错误:

SQL 服务器

您的 SQL Server 安装已损坏或已被篡改(错误:实例名称超过最大长度)。请卸载然后重新运行安装程序以更正此问题

我想从这个端口号获取实例名称来解决这个问题。是否可以通过任何查询从 TCP 端口号获取实例名称?或者有没有其他方法可以通过TCP端口号来执行上述命令?

0 投票
0 回答
52 浏览

sql - 如何将大型 CSV 文件中的德语字符检索到 SQL Server 2017 脚本中

我有一个包含员工列表的 CSV 文件,其中一些员工的姓名中包含德语字符,例如“ö”。我需要在我的 SQL Server 2017 脚本中创建一个临时表,并用 CSV 文件的内容填充它。我的脚本是:

但是,即使我使用带有“SQL_Latin1_General_CP1_CI”排序规则的“Nvarchar”变量类型,德语字符似乎也不好,例如“Kösker”看起来像:

我尝试了许多其他排序规则,但找不到解决方法。任何帮助将不胜感激。

0 投票
1 回答
300 浏览

sql-server - 当数据库不在同一排序规则中时,事务复制的错误

我们已经建立了事务复制,其中发布者和订阅者端的数据库放在同一个 SQL Server 下。发布者数据库排序规则和列级排序规则是 SQL_Scandinavian_Pref_CP850_CI_AS,而订阅者端是 Finnish_Swedish_CI_AS。SQL Server 排序规则也是 SQL_Scandinavian_Pref_CP850_CI_AS。当我尝试复制具有特殊字符(如“åÅäÄöÖ”)的数据的 varchar 列时,它会在订阅者端以“†„Ž”™ 的形式交付,这是不可接受的。

你们能否建议任何解决方案以在订户端获取正确的数据?另外,如果无法修复此错误,请建议任何替代架构以在具有不同排序规则的数据库之间传递数据?请建议。

0 投票
0 回答
52 浏览

sql-server - 有没有办法为 SQL Server 中的排序操作设置默认排序规则?或 SQL Server 2019 中的 oracle NLS_SORT 等效项

我的数据库的默认排序规则是Latin1_General_100_CS_AS_SC_UTF8. 我需要为我的排序操作(排序依据)使用不同的排序规则或不同的规则。

据我所知,我们可以灵活地在 order by 子句中提及排序规则名称来实现这一点。

例如: select * from employees order by first_name collate Latin1_General_100_BIN

这种方法实现起来看起来很繁琐,因为我们需要编辑产品中的每个 SQL 语句。如果 select 语句包含 distinct 关键字,则需要特殊处理。

通过将不同的排序规则保持为数据库默认值,寻找一种方法来设置仅用于排序的默认排序规则。在某种程度上,我正在寻找类似于 oracle 的东西,我们可以在NLS_SORT参数的帮助下配置 order by 或比较的行为。在 Oracle 中,我们可以看到NLS_CHARACTERSET哪个管理数据库字符集。SQL Server 中是否有类似的配置可用?

0 投票
0 回答
19 浏览

asp.net-core-3.1 - 在 Core 3.1 中调用 AsEnumerable 或 ToList 时如何尊重数据库排序规则?

在返回 IQueryable 的 LINQ 查询中调用 AsEnumerable 或 ToList 时,将忽略数据库的排序规则。

在尝试使用 oData contains 查询某些数据时进行了测试。

有没有办法使用尊重数据库排序规则的 AsEnumerable 或 ToList ?

0 投票
1 回答
52 浏览

sql - 特殊字符(夏威夷 'Okina)的 SQL Server 2017 排序规则导致“?” 字符串行为

我需要插入一些夏威夷语 'Okina 字符串名称为 'Kapi'olani';但是在 SQL Server 2017 数据库中,它显示为Kapi?olani带有问号。

我做了一些研究并尝试了这篇文章的解决方案

插入值后:

它仍然显示如下:(Kapi?olani带问号)。

有什么解决方案可以让它正确显示吗?非常感谢

0 投票
1 回答
351 浏览

sql - 无法解决“SQL_Latin1_General_CP1_CI_AS”和“SQL_Latin1_General_CP850_BIN2”之间的排序规则冲突

我在查询中使用来自同一服务器的另一个数据库的数据

我收到给定的错误

无法解决等于操作中“SQL_Latin1_General_CP1_CI_AS”和“SQL_Latin1_General_CP850_BIN2”之间的排序规则冲突。本机错误:468。SQLSTATE:42000。严重性 16。MsgState 9。第 39 行。

我如何解决它?

请帮忙

0 投票
1 回答
52 浏览

sql-server - SQL Server Unicode 字符替换

我正在尝试从 SQL Server 2019 中的文本中删除/替换某些 unicode 符号字符。
我正在使用的服务器/数据库具有排序规则 Latin1_General_CI_AS。
我无法更改服务器/数据库的排序规则,所以我尝试了这个(大多数情况下它可以工作,但有些符号不起作用)。

环境:
SQL Server 版本:
Microsoft SQL Server 2019 (RTM-GDR) (KB4583458) - 15.0.2080.9 (X64) Nov 6 2020 16:50:01 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) o​​n Windows 10专业版 10.0(内部版本 19041:)

服务器排序规则:Latin1_General_CI_AS
数据库排序规则:Latin1_General_CI_AS

此示例按预期工作:

输出:
XXXa
aXXX

此示例仅在 unicode 符号 (⚶) 是第一个字符时有效,但如果另一个字符位于它之前则无效:

输出:
XXXa(正确)
a⚶(错误)

有谁知道为什么替换适用于某些字符/字符顺序,而有些则不行?