各位大佬,25x6的varchar怎么转换为numeric

SQL Ccc 发布于 2022-12-20 08:54
1min目标场景问卷 立即参与
回答问题
悬赏:2 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CccLv4见习互助
发布于2023-1-4 13:45

把源数据的数据格式转换为目标格式

最佳回答
1
weibwLv7高级互助
发布于2022-12-20 09:22

select cast(left('25x6',charindex('x','25x6')-1) as int )*cast(right('25x6',len('25x6')-charindex('x','25x6')) as int)

image.png

最佳回答
0
用户wFkHW3326244Lv5初级互助
发布于2022-12-20 09:01(编辑于 2022-12-20 09:01)

不可以直接转换,解决思路:先截取x之前的数据,与x之后的数据,形成两列,再转换相乘。

  • Ccc Ccc(提问者) 但我这列是要于用判断的 小于7.5 或者 等于7.5 等等 之类的判断
    2022-12-20 09:02 
  • 用户wFkHW3326244 用户wFkHW3326244 回复 Ccc(提问者) 小于7.5?
    2022-12-20 09:04 
  • Ccc Ccc(提问者) 回复 用户wFkHW3326244 对 有另外一个规则表 要跟它匹配
    2022-12-20 09:17 
  • 用户wFkHW3326244 用户wFkHW3326244 回复 Ccc(提问者) 那你用这个去关联Dam_mm去关联就行哈,扩展出来的是另外的列。
    2022-12-20 09:21 
  • Ccc Ccc(提问者) 回复 用户wFkHW3326244 啥意思 有点不懂
    2022-12-20 09:26 
最佳回答
0
快乐星光Lv5中级互助
发布于2022-12-20 09:12(编辑于 2022-12-20 09:31)

你昨天还说你这个字段就是纯数字,今天就变成带xx了。。。就按楼上的方法把相乘后的数据作为一个新字段,把这个表包起来。用这个新字段来case  when。====原字段保留,用来关联。用新字段比较image.png

  • Ccc Ccc(提问者) 我后来才发现不是纯数字
    2022-12-20 09:16 
  • Ccc Ccc(提问者) 这个不能乘 这相当于一个规格来的
    2022-12-20 09:16 
  • 快乐星光 快乐星光 回复 Ccc(提问者) 看补充答案
    2022-12-20 09:32 
  • 2关注人数
  • 375浏览人数
  • 最后回答于:2023-1-4 13:45
    请选择关闭问题的原因
    确定 取消
    返回顶部