在 MSSQL 中组合 LTRIM 和 RTIM 以及 REPLACE 函数
Combining LTRIM and RTIM and REPLACE functions in MSSQL
我在 table 中有一个字段包含我想要删除的前导字符和尾随字符。
本声明
SELECT 全名 AS 类别
来自 dbo.inventory
在 table 中产生此结果(显示部分结果):
- 部件 - Belts:Z.360J8
- 部件 - Belts:Z.360J14
- 部件 - Belts:Z.36355-123
- 零件 - 塑料和 Frame:Z.103196-001
- 零件 - 电气 Cables/Cords:Z.P037153674
我想删除破折号之前的破折号,这将删除 "Parts - " 和冒号 ':' 后面的所有内容,这样我就可以只剩下类别并得到这样的 table :
- 腰带
- 腰带
- 腰带
- 塑料与框架
- 电气Cables/Cords
我试过这个并成功删除了前面的 "Parts -" 但成功地将语句与冒号“:”之后的所有内容删除“:”
SELECT LTRIM(RTRIM(REPLACE(FullName, 'Parts -', ''))) AS 类别
来自 dbo.inventory
产生这个结果:
- Belts:Z.360J8
- Belts:Z.360J14
- Belts:Z.36355-123
- 塑料与 Frame:Z.103196-001
- 电气Cables/Cords:Z.P037153674
感谢您的帮助!
使用 LEFT 和 CHARINDEX 的方法:
SELECT REPLACE(LEFT(FullName, CHARINDEX(':', FullName) - 1), 'Parts - ', '')
CHARINDEX 查找完整字符串中冒号字符的索引号,-1 也包括在内以将其删除。 LEFT 然后将字符串截断到该位置。 REPLACE 的功能与您在原始示例中的功能相同,删除了“零件 -
' 部分(请注意,我在连字符后添加了 space)。
LTRIM 和 RTRIM 仅分别删除 leading/trailing space,因此它们在这里没有用。
处理不包含冒号的行的代码(将 return 为空字符串):
SELECT REPLACE(REPLACE(LEFT(Fullname, CHARINDEX(':', Fullname)), 'Parts - ', ''), ':', '')
我在 table 中有一个字段包含我想要删除的前导字符和尾随字符。
本声明
SELECT 全名 AS 类别 来自 dbo.inventory
在 table 中产生此结果(显示部分结果):
- 部件 - Belts:Z.360J8
- 部件 - Belts:Z.360J14
- 部件 - Belts:Z.36355-123
- 零件 - 塑料和 Frame:Z.103196-001
- 零件 - 电气 Cables/Cords:Z.P037153674
我想删除破折号之前的破折号,这将删除 "Parts - " 和冒号 ':' 后面的所有内容,这样我就可以只剩下类别并得到这样的 table :
- 腰带
- 腰带
- 腰带
- 塑料与框架
- 电气Cables/Cords
我试过这个并成功删除了前面的 "Parts -" 但成功地将语句与冒号“:”之后的所有内容删除“:”
SELECT LTRIM(RTRIM(REPLACE(FullName, 'Parts -', ''))) AS 类别 来自 dbo.inventory
产生这个结果:
- Belts:Z.360J8
- Belts:Z.360J14
- Belts:Z.36355-123
- 塑料与 Frame:Z.103196-001
- 电气Cables/Cords:Z.P037153674
感谢您的帮助!
使用 LEFT 和 CHARINDEX 的方法:
SELECT REPLACE(LEFT(FullName, CHARINDEX(':', FullName) - 1), 'Parts - ', '')
CHARINDEX 查找完整字符串中冒号字符的索引号,-1 也包括在内以将其删除。 LEFT 然后将字符串截断到该位置。 REPLACE 的功能与您在原始示例中的功能相同,删除了“零件 - ' 部分(请注意,我在连字符后添加了 space)。
LTRIM 和 RTRIM 仅分别删除 leading/trailing space,因此它们在这里没有用。
处理不包含冒号的行的代码(将 return 为空字符串):
SELECT REPLACE(REPLACE(LEFT(Fullname, CHARINDEX(':', Fullname)), 'Parts - ', ''), ':', '')