我正在尝试清除充满价格的 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 代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)