现有一oracle数据库实例exam,其中表若干,有一questiondata表,有一 字符型字段 TYPE, 其中数据格式如下 "1,xx," 或者“1,x,”(不含双引号)例如:1,27, 或1,5, 等等。。
现要 把该字段 改为“1,1xx,” 或 “1,10x,”
例如 1,27,改为 1,127, 1,5,改为 1,105, 谢谢~~
现要 把该字段 改为“1,1xx,” 或 “1,10x,”
例如 1,27,改为 1,127, 1,5,改为 1,105, 谢谢~~
发错地方了吧?MSSQL语法:
--例如 1,27,改为 1,127,
update questiondata set type = replace(type,',',','+left(type,charindex(',',type) - 1))--1,5,改为 1,105,
不知道这个是否就是多了一个0,如果是的话,同上
(
TYPE VARCHAR(50)
)
INSERT INTO @T1 SELECT '1,27'
UNION ALL SELECT '1,7'
UNION ALL SELECT '1,12'UPDATE @T1 SET TYPE =
STUFF(TYPE,CHARINDEX(',',TYPE),1,
CASE LEN(TYPE) - CHARINDEX(',',TYPE)
WHEN 2 THEN ','+SUBSTRING(TYPE,1,CHARINDEX(',',TYPE)-1)
WHEN 1 THEN ','+SUBSTRING(TYPE,1,CHARINDEX(',',TYPE)-1)+'0'
END)
SELECT * FROM @T1