sql server replace 函数使用方法

我有一张数据表,里面的数字因为负号都放在了后面,全部以字符型存放了。

必然-20,在数据库里就是20-。

现在想用replace函数把负号改到前面来,然后再把列格式换成数字型。

请问代码改怎么写?

很着急!在线等答案。

分两步:
一:先把要改变的列都转换成正确的,也就是负号在前面
update tabel1 set field1='-'+replace(field1,'-','')
二:把更新完的列转变为数字型的,在企业管理器里,表设计界面改比较方便
或者 alter table table1 ALTER COLUMN field1 numeric(5)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-12
REPLACE
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。
语法:
REPLACE ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' )
参数:
''string_replace1''
待搜索的字符串表达式。string_replace1 可以是字符数据或二进制数据。
''string_replace2''
待查找的字符串表达式。string_replace2 可以是字符数据或二进制数据。
''string_replace3''
替换用的字符串表达式。string_replace3 可以是字符数据或二进制数据。
返回类型:
如果 string_replace(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_replace(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。
示例:
下例用 xxx 替换 abcdefghi 中的字符串 cde。
SELECT REPLACE(''abcdefghicde'',''cde'',''xxx'')GO
下面是结果集:
------------abxxxfghixxx(1 row(s) affected)
第2个回答  2009-07-03
replace 字段名 with '-'+replace(字段名,'-','')
for left(字段名,1)=='-'

意思是搜索出字段名最后1位是'-'的所有记录,然后用REPLACE函数把其'-'去掉,再在前面加'-'
第3个回答  2009-07-03
正数后面有+号吗

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网