现有一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.   

    oracle??
    发错地方了吧?MSSQL语法:
    --例如 1,27,改为    1,127,  
    update questiondata set type = replace(type,',',','+left(type,charindex(',',type) - 1))--1,5,改为 1,105,
    不知道这个是否就是多了一个0,如果是的话,同上
      

  2.   

    DECLARE @T1 TABLE 
    (
    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