相关疑难解决方法(0)

T-SQL选择查询以删除非数字字符

我在具有可变alpha长度的列中有脏数据.我只想删除任何不是0-9的东西.

我不想运行函数或proc.我有一个类似于在文本之后抓取数值的脚本,它看起来像这样:

Update TableName
set ColumntoUpdate=cast(replace(Columnofdirtydata,'Alpha #','') as int)
where Columnofdirtydata like 'Alpha #%'
And ColumntoUpdate is Null
Run Code Online (Sandbox Code Playgroud)

我认为它会工作得很好,直到我发现我认为只有Alpha#12345789格式的某些数据字段不...

需要剥离的数据示例

AB ABCDE # 123
ABCDE# 123
AB: ABC# 123
Run Code Online (Sandbox Code Playgroud)

我只想要123.确实所有数据字段都具有#之前的数字.

我尝试了substring和PatIndex,但我的语法不正确或者其他东西.任何人对解决这个问题的最佳方法有任何建议吗?

谢谢!

t-sql substring sql-server-2008-r2 patindex

54
推荐指数
8
解决办法
19万
查看次数

T-SQL trim(和其他非字母数字字符)

我们有一些输入数据有时会出现在最后的字符中.

数据作为varchar()从源系统进入,我们尝试转换为十进制失败b/c这些字符.

Ltrim和Rtrim不会删除字符,因此我们不得不这样做:

UPDATE myTable
SET myColumn = replace(myColumn,char(160),'')
WHERE charindex(char(160),myColumn) > 0
Run Code Online (Sandbox Code Playgroud)

这适用于 ,但对于任何非字母数字(或在本例中为数字)字符,是否有一种好方法可以执行此操作?

sql sql-server

7
推荐指数
2
解决办法
3万
查看次数