【问题标题】:Comparing Strings in sql比较sql中的字符串
【发布时间】:2015-07-20 20:49:03
【问题描述】:

我的表格 A 列和 B 列中有以下格式的数据。

Column A             Column B
12345678XY           1111111
12345678XYABCN00001  1111111

使用 SQL,我需要确保,每当 A 列中的两行中的数据采用上述格式时,B 列中的每一行都应该具有相同的编号。

谁能帮我比较A列下的字符串。我不确定,如何解决这个问题!!!

【问题讨论】:

  • 你的问题不是很清楚,其实连问题都不是。当您说the above mentioned format 时,您的意思是 8 位数字后跟两个字母,还是 8 位数字后跟 6 个字母后跟 5 位数字?值的哪些部分在不同的行上会有所不同?此外,您必须澄清I need to make sure 的含义。您是否需要查询来报告任何违反规则的行?您是否需要一种方法来防止添加违反规则的行?更多详细信息和示例将帮助我们为您提供帮助。
  • 嗨 Turophile,对不起,我不清楚。我的意思是,我比较两条记录,其中第一条记录的前 10 个字符与第二条记录的前 10 个字符完全相同。如果是这种情况,我需要在 B 列中找出这两条记录的编号完全相同。

标签: sql string compare


【解决方案1】:

这是一个可能有帮助的查询:

select *
from Table1 AS T1
inner join Table1 AS T2
on  left(T1.Column_A,10) = left(T2.Column_A,10)
where T1.Column_B <> T2.Column_B

你可以看到它在这里运行:http://sqlfiddle.com/#!6/129b1/1

【讨论】:

  • 非常感谢 Turophile :) 我能够得到我想要的结果。
猜你喜欢
  • 1970-01-01
  • 2015-11-19
  • 1970-01-01
  • 2015-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多