当前位置: 首页 > 面试题库 >

在SQL Server中将s,t与艧,牛进行比较

微生毅
2023-03-14
问题内容

如果城市名称为“ ia艧i”,则不会返回任何内容:

SELECT *
  FROM City
 WHERE Name COLLATE Latin1_general_CI_AI LIKE '%iasi%' COLLATE Latin1_general_CI_AI

如果城市名称为“ ia艧i”(也请注意“ LIKE”模式中的外国人),这也不会返回任何内容:

SELECT *
  FROM City
 WHERE Name COLLATE Latin1_general_CI_AI LIKE '%ia艧i%' COLLATE Latin1_general_CI_AI

我正在使用SQL Server Manahtml" target="_blank">gement Studio2012。
我的数据库和列排序规则为“ Latin1_General_CI_AI”,列类型为nvarchar。

我该如何运作?


问题答案:

您指定的字符不是Latin1代码页的一部分,因此,除了之外的其他任何方式都无法对它们进行比较Latin1_General_CI_AI。实际上,我认为在给定的排序规则中,它们根本不起作用。

如果您仅使用一种归类,则只需使用正确的归类(例如,如果您的数据是土耳其语,请使用Turkish_CI_AI)。如果您的数据来自许多不同的语言,则必须使用unicode和适当的排序规则。

但是,还有另一个问题。在像罗马尼亚或土耳其语言,不是 一个重音s,而是一个完全独立的人物-看到http://collat​​ion-
charts.org/mssql/mssql.0418.1250.Romanian_CI_AI.html
。与例如。这是的重音形式s

如果确实需要等于s,则可以手动替换原始字符。

另外,当您使用unicode列(nvarchar和一堆)时,请确保您还使用了unicode 文字
,即。使用N'%iasi%'而不是'%iasi%'



 类似资料:
  • 问题内容: 当我测试此代码时: 我期待一个真实,真实,真实,错误。因为这: 在java.sql.Timestamp的javadoc中,它指出: 注意:此类型是java.util.Date和单独的纳秒值的组合。仅整数秒存储在java.util.Date组件中。小数秒-纳米- 是分开的。传递值java.util.Date类型的值时,Timestamp.equals(Object)方法从不返回true,

  • 我创建了一个,当调用变量为ISE时,它会读取相关数据的表。但是,如果我尝试将与另一个对象进行比较,无法正确读取。我想告诉脚本,如果现有CSV中的任何行与匹配,则不会将数据导出到CSV,换句话说,跳过CSV文件中的重复行。CSV可能有也可能没有多行。

  • 问题内容: Utilities.getDistance返回double,而getAttackRange返回int。上面的代码是if语句的一部分,它必须为true。那比较有效吗? 谢谢 问题答案: 是的,它是有效的-这将推动到执行比较之前。 请参阅JLS第15.20.1节(数值比较运算符),该链接链接到JLS第5.6.2节(二进制数值提升)。 从后者: 扩展原语转换(第5.1.2节)适用于转换以下规

  • 问题内容: 我有以下代码,并收到上述错误。由于我是python的新手,因此无法理解这里的语法以及如何解决错误: 问题答案: 有一种从日期时间转换为日期的方法。 要进行相反的转换,可以使用此功能

  • 我可以将指向结构的指针类型转换为带符号的值以返回不同类型的错误吗。C标准是否允许这种行为,或者是一种未定义的行为。 我怎样才能让这个条件起作用?

  • 问题内容: 考虑: 在这种情况下,为什么Bash会表现得如此? 测试命令是否只是没有完成而导致命令没有得到处理? 问题答案: 的意义和本质上是不同的。 什么是Bash中?在Bash和其他许多编程语言中,意思是“与”。并且在这样的命令执行上下文中,这意味着在这种情况下,应按顺序运行左侧和右侧的项目。 什么是Bash中?而且,单个命令意味着前面的命令(紧靠其左端)应仅在后台运行。 所以看你的例子: 实