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

Ray*_*Ray 1 sql t-sql sql-server select

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

UserID
========
35863586
12341234
321321
Run Code Online (Sandbox Code Playgroud)

我已经看到了Aaron Alton关于删除某些字符的建议,但在我的情况下,我将不得不删除ID的一半以使其正确,因为有时id为8位有时6位.

所以这没有多大帮助,

SELECT RIGHT(MyColumn, LEN(MyColumn) - 4) AS MyTrimmedColumn
Run Code Online (Sandbox Code Playgroud)

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

非常感谢

Joh*_*Woo 8

既然你提到长度是6,有时是8,

将长度除以2

SELECT RIGHT(MyColumn, LEN(MyColumn) - (LEN(MyColumn) / 2)) AS MyTrimmedColumn
Run Code Online (Sandbox Code Playgroud)

或者干脆

SELECT UserID, RIGHT(UserID, (LEN(UserID) / 2)) AS MyTrimmedColumn
FROM   table1
Run Code Online (Sandbox Code Playgroud)