我有一列数据,其中包含一个百分比范围作为字符串,想将其转换为数字,以便可以轻松进行比较。
字符串中的可能值:
'<5%'
'5-10%'
'10-15%'
...
'95-100%'
想在我的select where子句中将其转换为第一个数字5,10,15等,以便可以将该值与最小值进行比较。
已经尝试了一系列子字符串,charindex,转换和替换的变体,但仍然无法得到能够在所有组合中起作用的东西。
发布于 2018-06-08 14:38:28
可以将char数据转换为其他类型的char(将char(10)转换为varchar(10)),但不能将字符数据转换为SQL内的整数数据。
发布于 2018-06-08 16:23:07
可以使用游标在sql server中执行此操作。如果可以创建一个CLR函数来提取数字分组,会很有用,但在T-SQL中可能会很丑。
创建光标以循环播放列表。找到第一个号码,假如他们只有一个号码组,然后返回它。否则找到第二个项目分组。
如果仅返回第一个商品分组,并且其列表中的第一个商品将其设置为上限。如果仅返回第一个商品分组,并且其列表中的最后一个商品将其设置为下限。否则,将第一项分组设置为较低值,将第二项分组设置为上限
只需将结果值重新设置为表格即可 。
https://stackoverflow.com/questions/-100000246
复制相似问题