SQL Server 替换,删除前 5 个字符,然后删除特定字符后的所有字符

问题描述 投票:0回答:0

我希望从数据库值中删除前 5 个字符,然后从同一字段中的某个字符之后删除所有字符。

我能够使用以下命令单独执行此操作:


SELECT RIGHT(field, LEN(field) - 5) AS "IDENTITY"               
,LEFT(field+'@', CHARINDEX('@',field +'@')-1) AS 'IDENTITY_TRIM'

我以为 CONCAT 会起作用,但是这并没有像我希望的那样起作用,因为它没有同时执行这两个操作。

SELECT RIGHT(field, LEN(field) - 5) AS "IDENTITY"               
,LEFT(field+'@', CHARINDEX('@',field +'@')-1) AS 'IDENTITY_TRIM'

CONCAT((RIGHT(field, LEN(field) - 5)), (LEFT(field +'@', CHARINDEX('@',field +'@')-1))) as 'NAMES'

这不是采取两个动作并修剪它们,而是将它们作为单独的动作进行。

sql sql-server ssms trim
© www.soinside.com 2019 - 2024. All rights reserved.