在SQL中,如何删除表中特定列的值的前4个字符?列名为“Student Code”,示例为“ABCD123Stu1231”。 我想从我的表中删除所有记录的前4个字符
请指引我
在SQL中,如何删除表中特定列的值的前4个字符?列名为“Student Code”,示例为“ABCD123Stu1231”。 我想从我的表中删除所有记录的前4个字符
请指引我
当前回答
Stuff(someColumn, 1, 4, '')
这就是说,从第一个字符位置开始,用空替换4个字符”
其他回答
完整的东西
DECLARE @v varchar(10)
SET @v='#temp'
select STUFF(@v, 1, 1, '')
WHERE LEFT(@v,1)='#'
内置的修剪功能非常适合这个目的。
SELECT trim(both 'ag' from 'asdfg');
btrim
-------
sdf
(1 riga)
http://www.postgresql.org/docs/8.1/static/functions-string.html
这里有一个简单的模型,你要做什么:)
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(开始时跳过的字符数)。
试试这个:
update table YourTable
set YourField = substring(YourField, 5, len(YourField)-3);
Stuff(someColumn, 1, 4, '')
这就是说,从第一个字符位置开始,用空替换4个字符”