在SQL中,如何删除表中特定列的值的前4个字符?列名为“Student Code”,示例为“ABCD123Stu1231”。 我想从我的表中删除所有记录的前4个字符

请指引我


当前回答

这里有一个简单的模型,你要做什么:)

CREATE TABLE Codes
(
code1 varchar(10),
code2 varchar(10)
)

INSERT INTO Codes (CODE1, CODE2) vALUES ('ABCD1234','')


UPDATE Codes
SET code2 = SUBSTRING(Code1, 5, LEN(CODE1) -4)

所以,使用最后一个语句对你想修剪的字段:)

SUBSTRING函数缩减Code1,从第5个字符开始,一直缩减到Code1长度小于4(开始时跳过的字符数)。

其他回答

试试这个。100%的工作

UPDATE Table_Name
SET RIGHT(column_name, LEN(column_name) - 1)

  

为什么使用LEN,这样就有了两个字符串函数?你只需要在…

...SUBSTRING (Code1, 5, 8000)...

这里有一个简单的模型,你要做什么:)

CREATE TABLE Codes
(
code1 varchar(10),
code2 varchar(10)
)

INSERT INTO Codes (CODE1, CODE2) vALUES ('ABCD1234','')


UPDATE Codes
SET code2 = SUBSTRING(Code1, 5, LEN(CODE1) -4)

所以,使用最后一个语句对你想修剪的字段:)

SUBSTRING函数缩减Code1,从第5个字符开始,一直缩减到Code1长度小于4(开始时跳过的字符数)。

Stuff(someColumn, 1, 4, '')

这就是说,从第一个字符位置开始,用空替换4个字符”

如果你必须删除前面的几个特殊字符,比如#,这是一个很好的例子:

UPDATE tblInvalidID
SET [ColumnName] =stuff(ColumnName, 1, charindex('#', ColumnName), ' ')