![]() |
1
6
从上的文档 LEN (Transact-SQL) :
另外,从上的支持页 How SQL Server Compares Strings with Trailing Spaces :
更新
:
在许多其他地方也有这样的要求,其他解决方案也有这样的要求: |
![]() |
2
3
就像你说的,我认为没有很多选择。我能想到的只有这两个:
编辑 想到第三个:
第四,假设您使用的是SQL 2005+
就个人而言,我喜欢
|
![]() |
3
2
你可以试试这样的方法:
|
![]() |
4
1
我只有两条建议。一种方法是重新审视需要存储尾随空格的设计——它们在SQL中总是很难处理。 第二步(考虑到您的sarg注释)是将计算列添加到存储长度的表中,并将此列添加到适当的索引中。这样,至少长度比较应该是可行的。 |
|
5
1
经过一些搜索,我找到的最简单的解决方案是在安东尼·布卢埃什。 WebLog . 只需在数据末尾添加一些文本(一个字符就足够了)(追加)
也适用于“在哪里”
|
![]() |
6
1
IM计划使用的方法是使用一个正常的比较,这个比较应该是索引可键入的(可搜索的),并由一个
由查询优化器决定过滤器的顺序,但如果对正在测试的表有意义的话,它应该选择使用索引进行数据查找,然后使用更昂贵的标量操作进一步按长度筛选剩余的结果。然而,正如另一个答案所述,最好使用索引计算列来避免这些标量操作。如果您对模式没有控制权,或者您希望避免创建计算列,或者如果创建和维护计算列被认为比查询性能更差的话,那么这里介绍的方法可能是有意义的。 |
![]() |
7
0
有时最愚蠢的解决方案是最好的:
所以在进行比较之前,基本上在两个字符串中附加任何字符。 |
![]() |
TKL · 如何计算SQL文本列中的段落数? 7 年前 |
![]() |
Igor · 生成不存在于同一列中的随机值 8 年前 |
![]() |
Bendom · 任意数量的参数plsql 9 年前 |
![]() |
Red · 如何在sql上的单元格中添加字符串? 11 年前 |
![]() |
Marco · char或varchar 12 年前 |
![]() |
Nishant Jani · MySQL varchar(255)限制和异常 12 年前 |