sql - 如何从列中删除一半字符?

时间:2013-01-15 03:22:54

标签: sql sql-server tsql select

我有一个表列,其中填充了调查中的usersID,但不知何故,userID在每条记录中写入了两次。如下所示

UserID
========
35863586
12341234
321321

我见过Aaron Alton关于删除某些字符的建议,但在我的情况下,我将不得不删除一半的ID以使其正确,因为有时id是8位数,有时是6位数。

所以这没什么用,

SELECT RIGHT(MyColumn, LEN(MyColumn) - 4) AS MyTrimmedColumn

有人可以提出解决问题的方法吗?

非常感谢

2 个答案:

答案 0 :(得分:8)

因为你已经提到长度是6,有时是8,

将长度除以2

<击>

<击>
SELECT RIGHT(MyColumn, LEN(MyColumn) - (LEN(MyColumn) / 2)) AS MyTrimmedColumn

<击>

或只是

SELECT UserID, RIGHT(UserID, (LEN(UserID) / 2)) AS MyTrimmedColumn
FROM   table1

答案 1 :(得分:1)

update IDtable
set ID = LEFT(ID,(LEN(ID)/2))

这应该使用正确的字符串更新所有列。