【数据库】Mysql的REPLACE()函数替换字符串

mysql中replace函数直接替换mysql数据库中某字段中的特定字符串,用起来非常的方便。              
REPLACE(str,from_str,to_str)  第一个字符串str中,将from_str替换为to_str
回到上一篇文章的问题:假设有两个借款,其中一个借款1的到期还款日为2日,借款2的到期还款日为10日。
这个字段loan_pmt_due_date日期有多个。这篇文章介绍另外一个函数REPLACE处理此问题。

先来看一个简单的例子:

select REPLACE('hello word','word','world'); # 结果:hello world
select REPLACE(loan_pmt_due_date,SUBSTR(loan_pmt_due_date,9,2),'02') from ms_repayment_plan where loan_id = 1 and SUBSTR(loan_pmt_due_date,9,2)!='02';select REPLACE(loan_pmt_due_date,SUBSTR(loan_pmt_due_date,9,2),'10') from ms_repayment_plan where loan_id = 2 and SUBSTR(loan_pmt_due_date,9,2)!='10';

通过上面的语句,我们发现是无法解决上面的问题的,因为最后两个数字在字段loan_pmt_due_date中不是唯一的

注意:REPLACE(str,from_str,to_str)  中from_str一定要确保在str中是唯一的,要不然会替换多次

replace into函数
说到接触REPLACE,我们会想到replace into函数,有这样一个业务场景:向数据库中插入数据,前提是重复的不能再次插入。以前用where解决的,今天才知道还有一个更简洁的方法replace。
replace具备替换拥有唯一索引或者主键索引重复数据的能力,也就是如果使用replace into插入的数据的唯一索引或者主键索引与之前的数据有重复的情况,将会删除原先的数据,然后再进行添加。
语法:replace into table( col1, col2, col3 ) values ( val1, val2, val3 )
语义:向table表中col1, col2, col3列replace数据val1,val2,val3

原先普通的insert语句会报错:

 replace into china_stock values('2','000839','中信国安');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度智能云文档汇总

百度智能云文档汇总目录: 一、百度语音-->https://cloud.baidu.com/doc/SPEECH/index.html 百度语音提供对自然语言文本的解析服务。自然语言文本是用户意图的表述,意图解析的目的就是将文本解析成意图表示。 二、文字识别-->https://cloud.baidu…

Python单元测试框架之unittest+requests+ddt+excel接口自动化测试

unitetest是python里单元测试框架,是基于 java 的 junit 测试框架 相当于是一个 python 版的 junit,除了 unittest,还有一个 pytest 框架 unittest.TestCase:TestCase类,所有测试用例类继承的基本类 一个TestCase的实例就是一个…

【业务篇】史上最全经验版用例之IOS和Android版APP版本更新、IOS版规避审核?

一、IOS app设置苹果审核 为了app提交苹果能快速审核通过,故需设置app审核状态,隐藏部分敏感功能 1、线上app版本1.0.0,新版本app2.0.0测试通过,设置2.0.0版本app审核状态,隐藏2.0.0版本部分敏感功能,提交…

Python之Pymysql模块操作MySQL增删改查

Python3 MySQL 数据库连接 - PyMySQL 驱动 PyMySQL 连接数据库,实现增删改查 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范&#x…

Python之日志处理(logging模块)详解

logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点 1、可以通过设置不同的日志等级,在release版本中只输出重…

神秘的安全测试思考案例(一)

定义:安全测试是在软件产品开发基本完成时,验证产品是否符合安全需求定义和产品质量标准的过程。 概念:安全测试是检查系统对非法侵入渗透的防范能力。 准则:理论上来讲,只要有足够的时间和资源,没有无法进…

STL Map学习总结

1、 Map是关联容器,以键值对的形式进行存储,方便进行查找,关键词起到索引的作用,值则表示与索引相关联的数据,以红黑树的结构实现,插入删除等操作都可以在O(log n)时间内完成 2、它的特点是增加和删除节点…

【功能业务篇】APP获取用户定位、传参经纬度思考

常用的三种定位方式有:基于GPS定位、基于基站地位、基于wifi定位。 1、基于GPS定位: GPS定位需要GPS模块(硬件)的支持,没有GPS模块是无法进行GPS定位的。 GPS定位最大的优点就是其定位精确度高(一般误差在10m内),无网络也能用;缺点就是耗电高、定位慢、室…

cmd运行python程序

先cd到当前目录,然后python XXX.py

mysql 四种存储引擎

前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功…

Android ADB调试之无线连接设备

Android无线调试 一、数据线连接手机和电脑(首次设置需数据线连接),开启开发者模式和USB调试,确保手机和电脑已连接 cmd下执行adb devices 显示上图1,说明已连接 二、华为手机设置 1、开发人员选项 2、USB调试 3、…

【Python实战】使用python计算多种类型到期还款日

一般金融产品的账务测试时,我们会接触到还款方式,到期还款日等概念。 在自动化测试或者脚本使用中,我们需要动态的生成到期还款日去进行账务测试,这篇文章主要介绍了常见的几种到期还款日计算方式。 一、固定期限(比如…

Fiddler抓包工具之Filters(过滤器)进行会话过滤

一、设置User Fiters启用 未勾选Use Filters,未启用此功能;已勾选Use Filters,已启用此功能 二、Action设置 Run Filterset now :马上执行过滤,立即生效过滤 Load Filterset: 加载本地过滤文件到fiddler Save Filt…

【pyQT5】Python3+pyQT5开发环境安装与配置

在PyQt中编写UI界面可以直接通过代码来实现,也可以通过Qt Designer来完成。Qt Designer的设计符合MVC的架构,其实现了视图和逻辑的分离,从而实现了开发的便捷。 Qt Designer中的操作方式十分灵活,其通过拖拽的方式放置控件可以随时…

【TensorFlow】TensorFlow是什么?

TensorFlow 是一个开源的、基于 Python 的机器学习框架,它由 Google 开发,并在图形分类、音频处理、推荐系统和自然语言处理等场景下有着丰富的应用,是目前最热门的机器学习框架。 除了Python,TensorFlow 也提供了 C/C、Java、Go、…

【TensorFlow】Win7+Anaconda+python3.6+Tensorflow1.9安装教程

相关链接 官网:https://tensorflow.google.cn/ github:https://github.com/tensorflow/tensorflow 中文社区网:http://www.tensorfly.cn/ 安装说明 平台:windows 7 Anaconda版本:4.6.14 python版本:3.6.…

【Jmeter篇】如何利用Jmeter配置元件计数器、随机变量制造批量数据和变量参数化?

一、计数器 1、线程组-配置元件-计数器 2、功能介绍 starting value:给定计数器的起始值、初始值,第一次迭代时,会把该值赋给计数器 递增(Increment): 每次迭代后,给计数器增加的值 最大值(Maximum) :…

软件工程经济学习题 答案(不保证对错,找不到答案)

一、资金等值计算 1.某IT企业今年向银行贷款20万元以购置一台设备。若银行贷款利率为10%,规定10年内等额偿还,试求每年的偿还金额。 2.某软件企业向银行贷款200万元,按年利率为8%进行复利计息,试求该企业第5年末连本带利一次偿还银…

Django+Jquery+Ajax+验证码登录案例

1,创建项目test04 2,创建应用app为booktest 3,注册应用booktest 作用让创建的应用运行起来 4,在项目根目录下创建模板templates目录 作用就是存放html文件在项目的settings.py文件中配置模板,如下图:5&…

【数据库】Mysql日期/时间函数实际案例

有一款金融产品,总共24期,每月2日到期还款日,第一个到期还款日为放款日下个月的2日,现在我们知道所有订单的放款时间,现在我们想统计每个订单当前时间是第几期。 举个简单例子:当期日期为2019-11-12&#…