【发布时间】:2011-09-01 20:08:28
【问题描述】:
这是交易。
我有 2 个数据库。一个是较旧的并且具有扩展的数据。另一个较新,相关数据较少。他们都共享相同的产品,只是其中一个拥有更多数据。
我已经开始了一个项目,我想扩展新数据库以包含旧数据库中存在的一些缺失数据。问题是数据库之间的 ID 不匹配。所以我不得不按名字搜索。这可能是也可能不是相同的情况。 Visual Studio 中的查询绝对区分大小写。我对此进行了测试,我确信。
所以我的第一个想法是使用较低功能进行类似搜索。像这样:
WHERE lower([Name1]) LIKE lower('%Name2%')
但是当我去运行它时它给了我一个错误。 Visual Studio 自动尝试将语句的语法更改为:
WHERE 'lower'([Name1]) LIKE 'lower'('%Name2%')
我可以发誓 lower() 是正确的语法。而且我在谷歌上找不到任何替代方案或为什么视觉工作室不喜欢它。事实上,我只是在 SQL Management Studio 中尝试了一条类似的线路并且它有效。为什么它在 Visual Studio 中不起作用?
【问题讨论】:
-
您在 Visual Studio 中究竟在做什么但不起作用?
-
你不需要使用Lower进行字符串比较。默认情况下,SQL Server 在其字符串比较中不区分大小写。
-
“给我一个错误。”错误是....
-
我认为我已经很好地描述了我正在做的事情。我在新的查询窗口中使用 Visual Studio 的服务器资源管理器。你不清楚什么?
-
@Neil: 不正确,sql字符串比较受比较中涉及的数据整理的大小写敏感。
标签: sql sql-server visual-studio-2010