SQL Server TRIM 字符

新手上路,请多包涵

我有以下字符串:’BOB*‘,如何修剪 * 使其显示为 ‘BOB’

我尝试了 RTRIM(‘BOB*’,’*’) 但不起作用,因为说只需要 1 个参数。

原文由 Nate Pet 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 418
2 个回答
LEFT('BOB*', LEN('BOB*')-1)

应该这样做。

原文由 paulmorriss 发布,翻译遵循 CC BY-SA 3.0 许可协议

DECLARE @String VarChar(50) = '**H*i****', @String2 VarChar(50)

--Assign to new variable @String2
;WITH X AS (
SELECT LEFT(@String, LEN(REPLACE(@String, '*', ' '))) [V1]
)
SELECT TOP 1 @String2 = RIGHT(V1, LEN(REPLACE(REVERSE(V1), '*', ' '))) FROM X

SELECT @String [@String], @String2 [@String2]

--See the intermediate values, v0 original, v1 triming end, and v2 trim the v1 leading
;WITH X AS (
SELECT @String V0,  LEFT(@String, LEN(REPLACE(@String, '*', ' '))) [V1]
)
SELECT [V0], [V1], RIGHT([V1], LEN(REPLACE(REVERSE([V1]), '*', ' '))) [v2] FROM X

原文由 johnanthonygreen 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进