Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 无法在包含“的”字上执行类似搜索;aa“;_Sql_Sql Server - Fatal编程技术网

Sql 无法在包含“的”字上执行类似搜索;aa“;

Sql 无法在包含“的”字上执行类似搜索;aa“;,sql,sql-server,Sql,Sql Server,我的SQL Server数据库中的记录中有一个包含以下内容的字段: 萨尔萨夫滕 在丹麦语中,对感兴趣的人来说,它的意思是“萨尔萨之夜”: 当我这样做时,我无法找到记录: 从表名称中选择*字段名称,如“%salsa%” 然而,当我这样做时,我发现记录非常好: 从表名称中选择*字段名称,如“%sals%” “aften”和“ften”也会发生同样的情况。搜索“aften”时没有结果,但搜索“ften”时完全匹配 看起来是“aa”把数据库搞混了。。但是为什么呢?如何修复 提前感谢:)某些排序规则中的序

我的SQL Server数据库中的记录中有一个包含以下内容的字段:

萨尔萨夫滕

在丹麦语中,对感兴趣的人来说,它的意思是“萨尔萨之夜”:

当我这样做时,我无法找到记录:

从表名称中选择*字段名称,如“%salsa%”

然而,当我这样做时,我发现记录非常好:

从表名称中选择*字段名称,如“%sals%”

“aften”和“ften”也会发生同样的情况。搜索“aften”时没有结果,但搜索“ften”时完全匹配

看起来是“aa”把数据库搞混了。。但是为什么呢?如何修复



提前感谢:)

某些排序规则中的序列“aa”被视为单个字符。您可能需要检查以确保排序规则是您想要的。

某些排序规则中的序列“aa”被视为单个字符。您可能需要检查以确保排序规则是您想要的。

适用于SQL 2005开发版。您使用的是什么版本?在丹麦语中,“aa”算一个字母吗?如果是的话,可能是这里发布的排序规则?MSSQL Server 2005和MSSQL Server 2008。。两个人都有同样的奇怪行为。。有时aa被认为是丹麦文字å。。那么如何关闭它呢?它是一个varchar字段还是一个nvarchar字段?我使用SQL 2005开发版。您使用的是什么版本?在丹麦语中,“aa”算一个字母吗?如果是的话,可能是这里发布的排序规则?MSSQL Server 2005和MSSQL Server 2008。。两个人都有同样的奇怪行为。。有时aa被认为是丹麦文字å。。那么如何关闭它?它是一个varchar字段还是一个nvarchar字段?如果aa被视为一个丹麦字符,那么您可能使用了正确的字符。如果您真的想在这种情况下将其视为单独的“a”字符,您可能可以在查询中使用排序规则转换()?像“%salsa%”这样的字段名在哪里与丹麦语、挪威语、CI进行比较?不起作用。我也尝试过将字段名与丹麦、挪威、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、加拿大、(我现在在家,不能测试它。但是,你需要使用一个排序规则,它不能将aa作为一个单独的字符。我认为你可以使用SQL\u Latin1\u General\u Cp1\u CI\u as。但是这个排序规则是否仍然允许使用像æ、ø和å这样的特殊字符?具体的区别是什么?是否存在一个列表来比较不同的字符租用排序规则?你应该能够在LIKE子句中使用这些字符并将它们与该排序规则进行匹配。但是它不会正常化,例如ae到æ。排序会有所不同,但是,排序顺序对LIKE操作符并不重要。谷歌应该快速打开一个包含排序规则细节和差异的网站。我不这么认为我没有记住一个,但我看到了。如果aa被视为单个丹麦字符,那么你可能使用的是正确的字符。如果你真的想在这种情况下将其视为单独的“a”字符,你可能可以使用排序规则转换()在查询中。像这样?WHERE field_name(如“%salsa%”)与Danish_Norwegian_CI_AS比较不起作用。我也尝试过WHERE field_name(如“%salsa%”)与Danish_Norwegian_CI_AS比较不起作用。在这两种情况下,我都尝试过CI_AS、CI_AI、CS_AI、CS_AS都不起作用:(我现在在家,不能测试它。但是,你需要使用一个排序规则,它不能将aa作为一个单独的字符。我认为你可以使用SQL\u Latin1\u General\u Cp1\u CI\u as。但是这个排序规则是否仍然允许使用像æ、ø和å这样的特殊字符?具体的区别是什么?是否存在一个列表来比较不同的字符租用排序规则?你应该能够在LIKE子句中使用这些字符并将它们与该排序规则进行匹配。但是它不会正常化,例如ae到æ。排序会有所不同,但是,排序顺序对LIKE操作符并不重要。谷歌应该快速打开一个包含排序规则细节和差异的网站。我不这么认为我没有记住,但我已经看过了。