如何在MSSQL查询中修剪前导和尾随制表符空格

use*_*801 9 sql sql-server sql-server-2005

我有数据在字符串中有前导和尾随空格.当在数据库中存储该数据时,我希望在存储到DB之前修剪查询本身的空间.

正常空间使用RTRIM和LTRIM函数正确修剪,但如果字符串包含制表符空间,则不会从输入字符串中修剪制表符空间.

任何人都可以帮我从前导和尾随获取带有制表空间的字符串.

mor*_*rgb 12

替换选项卡(9)的ASCII代码:

replace(@str, char(9), '')
Run Code Online (Sandbox Code Playgroud)

要仅删除外部选项卡,首先将它们更改为数据中不存在的内容(在此示例中我使用一系列四个空格),然后是rtrim/ltrim,然后将相同的序列转换回选项卡:

replace(ltrim(rtrim(replace(@str, char(9), '    '))),'    ', char(9));
Run Code Online (Sandbox Code Playgroud)

  • 这也将替换字符串之间的所有制表符空间,我只想要前导和尾随空格。 (2认同)