在JOIN条件下使用RTRIM(Using RTRIM in JOIN condition)

编程入门 行业动态 更新时间:2024-10-24 05:19:37
在JOIN条件下使用RTRIM(Using RTRIM in JOIN condition)

我想通过描述将两个包含产品的表放在一起

TABLE 1: [..fields..] [DESCRIPTION1] [..fields..]

TABLE 2: [..fields..] [DESCRIPTION2] [..fields..]

SELECT [..fields..] FROM TABLE1,TABLE2 INNER JOIN TABLE1 ON TABLE1.DESCRIPTION1 = TABLE2.DESCRIPTION2

但在很多情况下,两个表中的描述以空格结尾,我也想得到它们,这就是为什么我这样做的:

SELECT [..fields..] FROM TABLE1,TABLE2 INNER JOIN TABLE1 ON TABLE1.DESCRIPTION1 = TABLE2.DESCRIPTION2 OR RTRIM(TABLE1.DESCRIPTION1) = RTRIM(TABLE2.DESCRIPTION2)

这不会产生任何错误,但不会带来更多数据。

有人能帮帮我吗?

感谢每一个帮助:)

哈利,先谢谢你

I want to put two tables which are containing Products together by their DESCRIPTIONs

TABLE 1: [..fields..] [DESCRIPTION1] [..fields..]

TABLE 2: [..fields..] [DESCRIPTION2] [..fields..]

SELECT [..fields..] FROM TABLE1,TABLE2 INNER JOIN TABLE1 ON TABLE1.DESCRIPTION1 = TABLE2.DESCRIPTION2

But in lots of cases, there are descriptions in both tables ending with an space, i also want to get them, thatswhy i tried it that way:

SELECT [..fields..] FROM TABLE1,TABLE2 INNER JOIN TABLE1 ON TABLE1.DESCRIPTION1 = TABLE2.DESCRIPTION2 OR RTRIM(TABLE1.DESCRIPTION1) = RTRIM(TABLE2.DESCRIPTION2)

Which produces no error, but does not bring more data.

Is anybody able to help me?

Every help is appreciated :)

Thanks in Advance, Harry

最满意答案

问题可能是描述末尾的CRLF字符,它看起来像SSMS中的空格,并且不会被RTRIM()删除。

要检查,看看是否选择where Description like '%' + char(13) + char(10)返回任何内容。 如果看起来在描述的末尾只有一个空格,请单独尝试char(13)或char(10) 。 最后,一个Tab( char(9) )也看起来像一个空格,所以你也可以试试。

如果它确实是任何这些字符,你可以使用REPLACE来摆脱它们:

REPLACE(REPLACE(REPLACE(MyField, CHAR(10), ''), CHAR(13), ''), CHAR(9), '')

我在这里找到了 。

The problem might be CRLF characters at the end of the Description, which will look like spaces in SSMS and won't be removed by RTRIM().

To check, see if selecting where Description like '%' + char(13) + char(10) returns anything. If it looks like there is only 1 space at the end of the Description, try either char(13) or char(10) alone. Finally, a Tab (char(9)) would also look like a space, so you could try that as well.

If it does turn out to be any of these characters, you could use REPLACE to get rid of them:

REPLACE(REPLACE(REPLACE(MyField, CHAR(10), ''), CHAR(13), ''), CHAR(9), '')

which I found here.

更多推荐

本文发布于:2023-07-19 20:45:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1186730.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:条件下   JOIN   condition   RTRIM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!