如何删除字段中的非数字字符

weiliansanyu 2011-02-23 10:35:32
在表中,想将某个字段中的所有非数字字符删除,仅仅留取数字作为字段内容,请高手指点
比如字段A
123、33
222\23
\df]99
2323\ddf\333'
d,'\e\3/4]56\7
.......
处理后变为:
字段A
12333
22223
99
2323333
34567
。。。。。。
...全文
367 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
weiliansanyu 2011-02-25
  • 打赏
  • 举报
回复
如果要删除除数字及其他某个字符如何写呢?比如数字和‘-’符号不删除呢?
weiliansanyu 2011-02-25
  • 打赏
  • 举报
回复
自己的问题解决了,谢谢大家!
javatemptation 2011-02-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wing7742 的回复:]
前段时间大版写的
效果很明显

SQL code

CREATE FUNCTION f_str(@Value NVARCHAR(1000))
RETURNS NVARCHAR(1000)
AS
BEGIN
WHILE PATINDEX('%[^0-9]%',@Value)>0
SELECT @Value=STUFF(@Value,PATINDEX('%[……
[/Quote]

这个好用
gw6328 2011-02-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wing7742 的回复:]
前段时间大版写的
效果很明显

SQL code

CREATE FUNCTION f_str(@Value NVARCHAR(1000))
RETURNS NVARCHAR(1000)
AS
BEGIN
WHILE PATINDEX('%[^0-9]%',@Value)>0
SELECT @Value=STUFF(@Value,PATINDEX('%[……
[/Quote]
up
wing7742 2011-02-23
  • 打赏
  • 举报
回复
前段时间大版写的
效果很明显

CREATE FUNCTION f_str(@Value NVARCHAR(1000))
RETURNS NVARCHAR(1000)
AS
BEGIN
WHILE PATINDEX('%[^0-9]%',@Value)>0
SELECT @Value=STUFF(@Value,PATINDEX('%[^0-9]%',@Value),1,'')
RETURN @Value
END
快溜 2011-02-23
  • 打赏
  • 举报
回复
如果非法字符就这几个就replace,太多就写个函数吧。
AcHerat 2011-02-23
  • 打赏
  • 举报
回复
自己写个函数,或者正则表达式。
幸运的意外 2011-02-23
  • 打赏
  • 举报
回复
函数的参数是需要去除特殊字符的字段就可以。
AcHerat 2011-02-23
  • 打赏
  • 举报
回复

CREATE FUNCTION f_str(@Value NVARCHAR(1000))
RETURNS NVARCHAR(1000)
AS
BEGIN
WHILE PATINDEX('%[^0-9]%',@Value)>0
SELECT @Value=STUFF(@Value,PATINDEX('%[^0-9]%',@Value),1,'')
RETURN @Value
END


--你的表里如果是 str 字段要筛选数字的话!

select dbo.f_str(str) as str from tb
weiliansanyu 2011-02-23
  • 打赏
  • 举报
回复
3楼的函数,如何使用啊,请高手指点!

22,299

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧