sql-server – 如何使用LTRIM / RTRIM搜索和替换前导/尾随空格?

前端之家收集整理的这篇文章主要介绍了sql-server – 如何使用LTRIM / RTRIM搜索和替换前导/尾随空格?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从充满价格的NVARCHAR(MAX)列中清除前导和尾随空格(由于从具有奇数字符的多个操作系统导入数据而使用NVARCHAR).

此时我有一个t-sql命令可以从静态价格中删除前导/尾随空格.但是,当谈到利用同样的命令去除所有价格时,我很难过.

这是我用来删除特定价格的静态脚本:

UPDATE *tablename* set *columnname* = LTRIM(RTRIM(2.50)) WHERE cost = '2.50 ';

这是我试图删除所有尾随空格:

UPDATE *tablename* set *columnname* LIKE LTRIM(RTRIM('[.]')) WHERE cost LIKE '[.] ';

我也尝试过%随机字符的不同变化,但此时我正在旋转我的车轮.

我希望实现的是运行一个简单的命令,该命令取消此列的每个单元格中的所有前导和尾随空格,而不修改任何实际的列数据.

解决方法

要从左/右删除空格,请使用LTRIM / RTRIM.你有什么
UPDATE *tablename*
   SET *columnname* = LTRIM(RTRIM(*columnname*));

会对所有行都有效.要在不需要更新时最小化更新,更新代码将保持不变,但WHERE子句中的LIKE表达式将是

UPDATE [tablename]
   SET [columnname] = LTRIM(RTRIM([columnname]))
 WHERE 32 in (ASCII([columname]),ASCII(REVERSE([columname])));

注意:32是空格字符的ascii代码.

原文链接:https://www.f2er.com/mssql/74982.html

猜你在找的MsSQL相关文章