• 【python】字符串中%的问题


    小伙伴反馈使用接口平台执行某条sql返回值为null
    在这里插入图片描述
    但是这条sql直接使用navicat运行时可成功返回正确的数据
    在这里插入图片描述
    虾米情况?首先确认一下是否是数据库连接出现了问题?
    查看日志,发现获取数据库连接正常,且进行简单的SELECT查询是没有问题

    <util.DBTool.dbUtil.DBUtil object at 0x10de87400>
    

    那难道是因为sql语句中文字符的原因?或者是因为sql语句中LIKE惹的祸?
    修改成以下sql语句,均返回Null

    SELECT  
        count(*)  as count 
    FROM 
        (SELECT  * FROM `xxx`.`unit_apply` 
    WHERE 
        `unit_name` LIKE '1%' 
    GROUP by unit_name) newtable
    
    SELECT  
        count(*)  as count 
    FROM 
        (SELECT  * FROM `xxx`.`unit_apply` 
    WHERE 
        `unit_name` = '1%' 
    GROUP by unit_name) newtable
    

    会不会是因为% 字符的问题?毕竟%属于强大的转义字符
    将sql语句修改为

    SELECT  
        count(*)  as count 
    FROM 
        (SELECT  * FROM `xxx`.`unit_apply` 
    WHERE 
        `unit_name` LIKE '1' 
    GROUP by unit_name) newtable
    

    这样可以正常运行,那既然是%的问题,如何修改呢?
    首先想到的是增加’/‘或者‘’,取消转义,但是并未能成功
    查资料发现可以输入%%,这样最终执行时自动转义执行%,尝试之,发现这样可以正常运行,且结果正确

    在这里插入图片描述

    问题虽然解决了。但是让我们看看再python中%究竟有哪些使用的方式
    python中用%代表格式符,表示格式化操作

    Python支持将值格式化为字符串。虽然这可以包括非常复杂的表达式,但最基本的用法是将值插入到%s 占位符的字符串中

    name = raw_input("who are you?")
    print "hello %s" % (name,)
    

    该 %s 令牌允许我插入(和潜在的格式)的字符串。请注意, %s 令牌被替换为% 符号后传递给字符串的任何内容

    %s、%r、%d分别表示字符串以str()、rper()、以及十进制整数表示,%f表示结果为浮点型

    %s 字符串

    string="hello"
    print('%s'% (string)) 
    #%s打印时结果是hello 
    

    %d 整型

    num=12.0
    print('%s'% (num))
    #%s打印时结果是12.0
    
    num=12.0
    print('%d'% (num))
    #%d打印时结果是12
    

    %f 浮点型
    %a.bf,a表示浮点数的打印长度,b表示浮点数小数点后面的精度 ,%f时表示原值,默认是小数点后6位数

    num=12
    print('%f'% (num))
    #%f打印时结果是12.000000
    
    
  • 相关阅读:
    Java动态代理详解
    (10) openssl dhparam(密钥交换)
    (9) openssl enc(对称加密)
    (8) openssl rsautl(签名/验证签名/加解密文件)和openssl pkeyutl(文件的非对称加密)
    (7) openssl dgst(生成和验证数字签名)
    (6) openssl passwd(生成加密的密码)
    (5) openssl speed(测试算法性能)和openssl rand(生成随机数)
    (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
    (3) openssl genrsa(生成rsa私钥)
    (2) OpenSSL命令
  • 原文地址:https://www.cnblogs.com/guanhuohuo/p/12533581.html
Copyright © 2020-2023  润新知