有没有一种方法可以用来比较两个字符串12 AD E4 9F
并12:ad:E4:9f
得到一个表明它们相似的结果。存储在不同的表中,我想通过使用字符串作为连接条件连接表来创建视图
问问题
116 次
4 回答
1
您可以将第二个字符串转换为大写,然后在比较字符串之前删除所有 ' ' 和 ':'
从对偶中选择 UPPER(REPLACE('12:ad:E4:9f',':',' ');
于 2013-09-04T12:10:07.640 回答
0
尝试这种方式用于 tsql。你应该使用replace
和upper
功能。在下面的例子中 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 回答