在 SQL Server Compact 中,我试图删除一个尾随逗号,该逗号来自影响一列数千行的错误NVARCHAR
。
UPDATE myTable
SET col = LEFT(col, LEN(col)-1)
WHERE col LIKE '%,';
抛出错误:
解析查询时出错。[ 错误令牌 = LEFT ]
SQL Server CE 不能解析该查询吗?或者,有人可以提供另一种方法吗?
注意:我在CompactView中尝试过,我不确定这是否是问题所在。
在 SQL Server Compact 中,我试图删除一个尾随逗号,该逗号来自影响一列数千行的错误NVARCHAR
。
UPDATE myTable
SET col = LEFT(col, LEN(col)-1)
WHERE col LIKE '%,';
抛出错误:
解析查询时出错。[ 错误令牌 = LEFT ]
SQL Server CE 不能解析该查询吗?或者,有人可以提供另一种方法吗?
注意:我在CompactView中尝试过,我不确定这是否是问题所在。
建议的 using 解决方案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 '%,';
这显示了代码的意图
UPDATE myTable
SET col = SUBSTR(col, 0, (LENGTH(col) - 1))
WHERE col LIKE '%,';