Return 比较字符串的长度
Return length of string for comparison
是否可以比较两个字符串,例如第二个字符串的长度。
SELECT ProductDescription, Products
FROM ProductDescription
INNER JOIN Products
ON ProductDescription LIKE LEFT(Products, LENGTH(Products)) + '%'
其中 Products 是我们要比较的字符串以及比较的长度如果有意义的话我希望与字符串的长度相同?
假设我们有 Hydrogen 和 Hydrogen Oxide Like 两者都匹配,所以我需要指定我比较的是什么...
此外,描述字段可能会声明:
Hydrogen Oxide is water.
Oxygen is air.
Hydrogen II and Oxygen II can be combined to create water.
Hydrogen is a gas.
Oxygen II is undefined.
我有一个状态列表,例如:
氧。
氢。
氧气二。
氢二。
氧化氢。
我想将正确的化学品附加到他们关注的描述中。例如:
Hydrogen Oxide is water. | Hydrogen Oxide.
Oxygen is air. | Oxygen Hydrogen II and Oxygen II can be combined to
create water. | Hydrogen II, Oxygen II Hydrogen is a gas. | Hydrogen
Oxygen II is undefined. | Oxygen II.
我可以从查询中得到的结果各不相同,但我正在努力避免:
Hydrogen Oxide is water. | Hydrogen Oxide. Oxygen is air. | Oxygen.
Hydrogen II and Oxygen II can be combined to create water. | Oxygen II.
Hydrogen II and Oxygen II can be combined to create water. | Hydrogen.
II Hydrogen is a gas. | Hydrogen Oxygen II is undefined. | Oxygen.
嗯。我想你想要:
SELECT ProductDescription, Products
FROM ProductDescription INNER JOIN
Products
ON ProductDescription LIKE Products + '%' OR
Products LIKE ProductDescription + '%';
这是实现此目的的一种方法。请注意,将 LIKE
与通配符一起使用会大大降低查询的性能。
回过头来看这个问题其实这个问题的答案很简单...
Stack Overflow 的人建议的查询和我自己编写的代码,实际上完全按照预期的方式进行……据说数据集非常混乱,导致返回一些无效结果。这只能通过两种方式之一进行纠正,一种方式是通过字符串操作清理数据集。另一种方法是获取一个干净的数据集,您可以将其与获得的干净数据集进行隐式比较,这是我用来绕过无效数据问题的方法……我希望这对某人有帮助……
是否可以比较两个字符串,例如第二个字符串的长度。
SELECT ProductDescription, Products
FROM ProductDescription
INNER JOIN Products
ON ProductDescription LIKE LEFT(Products, LENGTH(Products)) + '%'
其中 Products 是我们要比较的字符串以及比较的长度如果有意义的话我希望与字符串的长度相同?
假设我们有 Hydrogen 和 Hydrogen Oxide Like 两者都匹配,所以我需要指定我比较的是什么...
此外,描述字段可能会声明:
Hydrogen Oxide is water. Oxygen is air. Hydrogen II and Oxygen II can be combined to create water. Hydrogen is a gas. Oxygen II is undefined.
我有一个状态列表,例如: 氧。 氢。 氧气二。 氢二。 氧化氢。
我想将正确的化学品附加到他们关注的描述中。例如:
Hydrogen Oxide is water. | Hydrogen Oxide. Oxygen is air. | Oxygen Hydrogen II and Oxygen II can be combined to create water. | Hydrogen II, Oxygen II Hydrogen is a gas. | Hydrogen Oxygen II is undefined. | Oxygen II.
我可以从查询中得到的结果各不相同,但我正在努力避免:
Hydrogen Oxide is water. | Hydrogen Oxide. Oxygen is air. | Oxygen. Hydrogen II and Oxygen II can be combined to create water. | Oxygen II. Hydrogen II and Oxygen II can be combined to create water. | Hydrogen. II Hydrogen is a gas. | Hydrogen Oxygen II is undefined. | Oxygen.
嗯。我想你想要:
SELECT ProductDescription, Products
FROM ProductDescription INNER JOIN
Products
ON ProductDescription LIKE Products + '%' OR
Products LIKE ProductDescription + '%';
这是实现此目的的一种方法。请注意,将 LIKE
与通配符一起使用会大大降低查询的性能。
回过头来看这个问题其实这个问题的答案很简单... Stack Overflow 的人建议的查询和我自己编写的代码,实际上完全按照预期的方式进行……据说数据集非常混乱,导致返回一些无效结果。这只能通过两种方式之一进行纠正,一种方式是通过字符串操作清理数据集。另一种方法是获取一个干净的数据集,您可以将其与获得的干净数据集进行隐式比较,这是我用来绕过无效数据问题的方法……我希望这对某人有帮助……