【发布时间】:2018-07-24 01:10:41
【问题描述】:
是否可以比较两个字符串例如第二个字符串的长度。
SELECT ProductDescription, Products
FROM ProductDescription
INNER JOIN Products
ON ProductDescription LIKE LEFT(Products, LENGTH(Products)) + '%'
Products 是我们要比较的字符串以及比较的长度如果有意义的话,我希望与字符串的长度相同?
假设我们有 Hydrogen 和 Hydrogen Oxide Like 两者都匹配,所以我需要指定我要比较的内容...
更多描述字段例如可以说明:
氧化氢是水。 氧气是空气。 氢气 II 和氧气 II 可以结合生成水。 氢气是一种气体。 Oxygen II 未定义。
我有一个状态列表,例如: 氧。 氢。 氧气Ⅱ。 氢二。 氧化氢。
我想将正确的化学品附加到他们关注的描述中。例如:
氧化氢是水。 |氧化氢。 氧气是空气。 | Oxygen Hydrogen II 和 Oxygen II 可以组合成 创造水。 | Hydrogen II, Oxygen II 氢气是一种气体。 |氢 氧气 II 未定义。 |氧气II。
我可以从查询中得到的结果各不相同,但我尽量避免:
氧化氢是水。 |氧化氢。氧气是空气。 |氧。 氢气 II 和氧气 II 可以结合生成水。 |氧气Ⅱ。 氢气 II 和氧气 II 可以结合生成水。 |氢。 II 氢气是一种气体。 |氢氧 II 未定义。 |氧气。
【问题讨论】:
-
我不明白你;)
-
啊哈,我有多个非常相似的字符串要比较,如果可能的话,我想专门设置我从左边比较的字符串的长度,我似乎得到了最短的匹配,所以我会喜欢在比较中指定长度。
-
LEFT(Products, LENGTH(Products)) 与 Products 有何不同?列的来源名称。避免列名与表相同。哪个数据库?
-
表格不一样,代码只是假设的,因为我无法发布确切的代码;)我有很多可以匹配的产品,但它必须匹配完整的字符串,否则查询将返回无效字符串根据产品的性质。产品的一个基本示例是氢气和二氧化氢,就像两者都匹配......
-
因为名称在描述中,如果匹配,我将其附加到描述中。描述与产品不完全匹配,描述字段中有其他数据。
标签: sql sql-server tsql sql-like string-length