邪流苑 2022-04-07 14:02 采纳率: 100%
浏览 91
已结题

SQL数据库如何提取指定的金额数字

需要在以下字段内容中提取“调账”后面的金额,应该如何提取?由于字段内容是人工填写的,所以内容不固定,但都会在“调账”后面,而个别会写成“调账”、“调帐”、“调账:”,另外该字段内容还会存在其他数字,请各位帮忙看下要如何才能准备提取到金额。

字段名:录入原因
内容:投诉退赔|BJ2022022818090/2022年2月/赠费/429元/账后调账286.80元/赠款142.2元
需要提取数字为:286.80

字段名:录入原因
内容:投诉退赔|BJ2022030111371,减免21年8月11-12月22年1月扣费扣费,共计219.78元,调帐187.69元
需要提取数字为:187.69

字段名:录入原因
内容:投诉退赔|BJ202203010955+不认可,减免202202月30元,本次调账:0.01 元 剩余;29.99元赠款录入
需要提取数字为:0.01

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2022-04-07 14:20
    关注

    什么版本的sqlserver?2005可用正则表单时提取内容,具体参考下面的文章


    安装好扩展后用下面的下面的正则即可

    img

    select dbo.[Regex.Match]('(?<=(调账|调帐)[^\d\.]*?)\d+(\.\d+)?','内容:投诉退赔|BJ2022022818090/20222月/赠费/429元/账后调账286.80元/赠款142.2元')
    select dbo.[Regex.Match]('(?<=(调账|调帐)[^\d\.]*?)\d+(\.\d+)?','投诉退赔|BJ2022030111371,减免21811-12221月扣费扣费,共计219.78元,调帐187.69元')
    select dbo.[Regex.Match]('(?<=(调账|调帐)[^\d\.]*?)\d+(\.\d+)?','投诉退赔|BJ202203010955+不认可,减免20220230元,本次调账:0.01 元 剩余;29.99元赠款录入')
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月20日
  • 已采纳回答 4月12日
  • 创建了问题 4月7日

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大