栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

T-SQL从字符串中提取十进制值

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

T-SQL从字符串中提取十进制值

另一种方法是删除字符串之后和字符串之前的字符。下面的表达式可以做到这一点:

select val,        stuff(stuff(val+'x', patindex('%[0-9][^0-9.]%', val+'x') + 1, len(val), ''       ), 1, patindex('%[0-9]%', val) - 1, '')from (values ('test123 xxx'), ('123.4'), ('123.4yyyyy'), ('tasdf 8.9'), ('asdb'), ('.2345')) as t(val);

内部

stuff()
删除数字后面的字符。的
+'x'
处理时的数量为在字符串的末尾时出现的问题。第一部分处理编号之前的部分。

这确实假定字符串中只有一个数字。您可以使用where子句检查此内容,例如:

where val not like '%[0-9]%[^0-9.]%[0-9]%'


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/670111.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号