0

有没有一种方法可以用来比较两个字符串12 AD E4 9F12:ad:E4:9f 得到一个表明它们相似的结果。存储在不同的表中,我想通过使用字符串作为连接条件连接表来创建视图

4

4 回答 4

1

您可以将第二个字符串转换为大写,然后在比较字符串之前删除所有 ' ' 和 ':'

从对偶中选择 UPPER(REPLACE('12:ad:E4:9f',':',' ');

于 2013-09-04T12:10:07.640 回答
0

尝试这种方式用于 tsql。你应该使用replaceupper功能。在下面的例子中 col2 是12:ad:E4:9f

select *
from tab1 t1
join tab2 t2 on upper(t1.col1) = upper(REPLACE((t2.col2,':',''))
于 2013-09-04T12:11:25.677 回答
0
REPLACE(LTRIM(RTRIM(ProductDescription)), ':', '')
SELECT UPPER(ProductDescription)

然后比较..

于 2013-09-04T12:11:32.647 回答
0

一种方法是在进行比较之前消除字符:

where replace(col1, ' ', '') = replace(col2, ':', '')

或者将一个分隔符替换为另一个:

where replace(col1, ' ', ':') = col2

通常,SQL 在字符串比较中不区分大小写,除非您明确将其设置为区分大小写。如果您有区分大小写的功能,则将上述内容包含在lower()or中upper()。大多数数据库中都可以使用函数replace()upper()lower()(尽管有些名称可能略有不同)。

于 2013-09-04T12:10:32.203 回答