zoukankan      html  css  js  c++  java
  • 解决python3向数据库插入日期字符串报错的问题

    [Err] 22007 - [SQL Server]从字符串转换日期和/或时间时,转换失败。
    

      插入的日期字符串(日期字符串是从文件中读取的,将文件中的数据转存到关系型数据库中):

    '2017/04/10'

    字符串看着没问题,我用len(str)查看长度,发现长度为11,多出了一个字符长度。

    复制到notepad++查看,更改字符串编码:
    编码为:UTF-8-BOM时看到字符串中多出了一个“?”

    看到这个应该知道是什么原因导致的了,所以就有了解决办法。
    由日期字符串可以看出,其中只包含了数据和'/'这两种字符,我想到了用正则表达式来处理,把数字和'/'以外的字符全部去除。
    re.sub('[^0-9 | /]', '', str)

      

    re.sub()是python3中re模块下的一个替换字符串的函数(替换掉满足正则表达式的内容,不满足的保持不变)。
    第一个参数是匹配的正则表达式;
    第二个参数是要替换的目标字符;
    第三个参数是需要处理的字符串。

     经过对字符串的处理,日期字符串就变得正常了,再次插入的话就不会报错了。

    谨记那些年入过的坑!

    初心回归,时光已逝!
  • 相关阅读:
    69期-Java SE-046_JSP-3
    69期-Java SE-045_JSP-2
    69期-Java SE-044_JSP-1
    69期-Java SE-043_Servlet-1
    69期-Java SE-042_Tomcat-1
    Sublime Text3快捷键
    http协议与https协议的前世今生
    解决并发问题,数据库常用的两把锁——悲观锁,乐观锁
    springboot解决文件上传大小限制
    docker基本操作
  • 原文地址:https://www.cnblogs.com/yin1361866686/p/10141607.html
Copyright © 2011-2022 走看看