日期:2014-05-17  浏览次数:20563 次

求个sql 求教了!!

如图,我想修改  '218437804504' 中的 第二个 数字8  结果为 218437504504   而其他数字不变 
------最佳解决方案--------------------
引用:
引用:我是担心你存的是数值型而已,本来这个语句就是用来处理字符型的。所以你直接用就可以了,只要把表名、列名填好就可以了好,我试过了,,可以 !!   非常感谢!!!
好了就结贴吧
------其他解决方案--------------------
看到你這個是有規律的數字,
用Replace吧.
REPLACE(COL,'21843780','21843750')

------其他解决方案--------------------
REPLACE('%'+COL,'%21843780','21843750')

------其他解决方案--------------------
用stuff函数也可以的。
update tablename set col=stuff(col,7,1,'5')

------其他解决方案--------------------
REPLACE(COL,'218437804504','218437504504')

update tablename set col=stuff(col,7,1,'5')where col = '218437804504'
------其他解决方案--------------------
我都是喜欢用这种
引用:
用stuff函数也可以的。


SQL code



1

update tablename set col=stuff(col,7,1,'5')

------其他解决方案--------------------
这是,数据表中的起终一列 ,,行数是自动累加一的,但不是 自增列,大约有  150 条 需要修改!
------其他解决方案--------------------
UPDATE xx SET 列名= LEFT (@a,6)+'5'+RIGHT(@a,5)
------其他解决方案--------------------
你的这列要先转换字符串才能这样改,不过貌似必须要转,你如果有兴趣,研究一下replace函数,也能替换。不过好像有点复杂,就你这个例子,我这个就够了,@a是你的列名
------其他解决方案--------------------
引用:
你的这列要先转换字符串才能这样改,不过貌似必须要转,你如果有兴趣,研究一下replace函数,也能替换。不过好像有点复杂,就你这个例子,我这个就够了,@a是你的列名


先谢谢了,,可能是我说的不明确,   这个字段是  varchar  的,就是给  这个字段的数据 换个 字符而已!  
  不用转换类型的 !    能不能解释下 sql 拜谢 !!
------其他解决方案--------------------
我是担心你存的是数值型而已,本来这个语句就是用来处理字符型的。所以你直接用就可以了,只要把表名、列名填好就可以了
------其他解决方案--------------------
引用:
我是担心你存的是数值型而已,本来这个语句就是用来处理字符型的。所以你直接用就可以了,只要把表名、列名填好就可以了
好,我试过了,,可以 !!   非常感谢!!!