Sql RTRIM&;带Case语句的LTRIM函数
如何将LTRIM和RTRIM与以下SQL一起使用?我需要LTRIM和RTRIM所有这些字段的前导空格Sql RTRIM&;带Case语句的LTRIM函数,sql,sql-server,Sql,Sql Server,如何将LTRIM和RTRIM与以下SQL一起使用?我需要LTRIM和RTRIM所有这些字段的前导空格 UPDATE CORE.WeccoPartyAddress SET AddressElements = CONTROL.TrimChar( CASE when COALESCE(Address1,'') != '' THEN Address1 + ', ' ELSE '' END +
UPDATE CORE.WeccoPartyAddress
SET AddressElements = CONTROL.TrimChar(
CASE when COALESCE(Address1,'') != '' THEN Address1 + ', ' ELSE '' END +
CASE when COALESCE(Address2,'') != '' THEN Address2 + ', ' ELSE '' END +
CASE when COALESCE(Address3,'') != '' THEN Address3 + ', ' ELSE '' END +
CASE when COALESCE(Town,'') != '' THEN Town + ', ' ELSE '' END +
CASE when COALESCE(County,'') != '' THEN County + ', ' ELSE '' END +
CASE when COALESCE(Postcode,'') != '' THEN Postcode ELSE '' END, ', '
)
使用如下所示:
UPDATE CORE.WeccoPartyAddress SET AddressElements = rtrim(ltrim(CASE when COALESCE(Address1,'') != '' THEN Address1 + ', ' ELSE '' END + CASE when COALESCE(Address2,'') != '' THEN Address2 + ', ' ELSE '' END + CASE when COALESCE(Address3,'') != '' THEN Address3 + ', ' ELSE '' END + CASE when COALESCE(Town,'') != '' THEN Town + ', ' ELSE '' END + CASE when COALESCE(County,'') != '' THEN County + ', ' ELSE '' END + CASE when COALESCE(Postcode,'') != '' THEN Postcode ELSE '' END))
使用如下所示:
UPDATE CORE.WeccoPartyAddress SET AddressElements = rtrim(ltrim(CASE when COALESCE(Address1,'') != '' THEN Address1 + ', ' ELSE '' END + CASE when COALESCE(Address2,'') != '' THEN Address2 + ', ' ELSE '' END + CASE when COALESCE(Address3,'') != '' THEN Address3 + ', ' ELSE '' END + CASE when COALESCE(Town,'') != '' THEN Town + ', ' ELSE '' END + CASE when COALESCE(County,'') != '' THEN County + ', ' ELSE '' END + CASE when COALESCE(Postcode,'') != '' THEN Postcode ELSE '' END))
您不必在语句中使用
CASE
UPDATE CORE.WeccoPartyAddress
SET AddressElements = ISNULL( STUFF (
COALESCE( ', ' + LTRIM( RTRIM(Address1) ) , '') +
COALESCE( ', ' + LTRIM( RTRIM(Address1Address2) ) , '') +
COALESCE( ', ' + LTRIM( RTRIM(Address1Address3) ) , '') +
COALESCE( ', ' + LTRIM( RTRIM(Address1Town) ) , '') +
COALESCE( ', ' + LTRIM( RTRIM(Address1County) ) , '') +
COALESCE( ', ' + LTRIM( RTRIM(Address1Postcode) ) , '')
,1
,2
,''
), '')
如果任何地址值不为null,则会得到如下字符串:“,Address”,然后使用字符串开头的函数替换“,”以获得“Address”作为结果
如果所有值都为null,则STUFF函数将返回null,并由函数替换为“”。您不必在语句中使用
CASE
UPDATE CORE.WeccoPartyAddress
SET AddressElements = ISNULL( STUFF (
COALESCE( ', ' + LTRIM( RTRIM(Address1) ) , '') +
COALESCE( ', ' + LTRIM( RTRIM(Address1Address2) ) , '') +
COALESCE( ', ' + LTRIM( RTRIM(Address1Address3) ) , '') +
COALESCE( ', ' + LTRIM( RTRIM(Address1Town) ) , '') +
COALESCE( ', ' + LTRIM( RTRIM(Address1County) ) , '') +
COALESCE( ', ' + LTRIM( RTRIM(Address1Postcode) ) , '')
,1
,2
,''
), '')
如果任何地址值不为null,则会得到如下字符串:“,Address”,然后使用字符串开头的函数替换“,”以获得“Address”作为结果
如果所有值都为null,则STUFF函数将返回null,该值将由函数替换为“”。
CONTROL.TrimChar()
不是有效的t-SQL。那是什么?(看起来你把T-SQL和C混合了起来。)你查过LTRIM
和RTRIM
的语法了吗?你对它们的用法有什么不了解?^很可能。可能他想在传递到SQL查询之前从表单中的输入字段中删除值。是的,我想在传递到SQL查询之前从输入字段中删除值。在这种情况下,您需要提供C代码,在其中调用SQL查询、设置参数等。CONTROL.TrimChar()
不是有效的t-SQL。那是什么?(看起来你把T-SQL和C混合了起来。)你查过LTRIM
和RTRIM
的语法了吗?你对它们的用法有什么不了解?^很可能。可能他想在传递到SQL查询之前从表单的输入字段中删除值。是的,我想在传递到SQL查询之前从输入字段中删除值。在这种情况下,您需要提供您的C代码,在其中调用SQL查询、设置参数等。这表示“ltrim函数需要1个参数”当我运行它的时候,它说“ltrim函数需要一个参数”,当我运行它的时候,你能给我解释一下这段SQL是做什么的吗?我从来没用过这个before@Simulator23,我添加了一些解释。@DenisRubashkin。。对于地址1
,不需要,'
。我想是的@我不懂英语,不,它不需要。为什么<代码>地址是第一个地址。那么,为什么一开始它需要,'
。?你能给我解释一下这段SQL是做什么的吗?我从来没用过这个before@Simulator23,我添加了一些解释。@DenisRubashkin。。对于地址1
,不需要,'
。我想是的@我不懂英语,不,它不需要。为什么<代码>地址是第一个地址。那么,为什么一开始就需要,'
。?