在SQL Server Compact中,我正在尝试删除来自影响数NVARCHAR
列数千行的goof的尾随逗号。
UPDATE myTable
SET col = LEFT(col, LEN(col)-1)
WHERE col LIKE '%,';
抛出错误:
解析查询时出错。 [令牌错误=左侧]
SQL Server CE不能解析该查询吗?或者,有人可以提供另一种方法吗?
注意:我在CompactView尝试了这个,我不确定这是不是问题。
答案 0 :(得分:16)
基于this example我可以使用SUBSTRING完成任务:
UPDATE myTable
SET col = SUBSTRING(col, 0, LEN(col))
WHERE col LIKE '%,';
答案 1 :(得分:0)
UPDATE myTable
SET col = SUBSTR(col, 0, (LENGTH(col) - 1))
WHERE col LIKE '%,';
答案 2 :(得分:0)
使用SET col = SUBSTRING(col, 0, LEN(col))
的建议解决方案有点不清楚。
这是作为SUBSTRING第二个参数starting_position的基础效果,其基于" 1"。所以在这种情况下0是负面的(你也可以使用,即-3和4个字符将被剥离然后而不是1)。 恕我直言,使用它会更加清楚:
UPDATE myTable
SET col = SUBSTRING(col, 1, LEN(col)-1)
WHERE col LIKE '%,';
显示代码的意图