Python格式化字符串实战场景一SQL条件语句快速格式化生成

一.python格式化字符串的方法

1.%格式化字符串

先说基础知识,细节看下方参考

## "xxx %s xxx %s" % (value1, value2)
name = 'Alex'
age = 18
print("My name is %s ,I'm %s years old " % (name,age))
# My name is Alex ,I'm 18 years old 
2.format() 方法

str.format()

# 使用名称占位符
res = "My name is {name} ,I'm {age} years old ".format(name="Alex",age=18)
print(res)  
# My name is Alex ,I'm 18 years old 

# 使用序号占位符,为空默认从左到右01234.。。
res = "My name is {} ,I'm {} years old ".format("Alex",18) #顺序对应时序号可不写
res = "My name is {0} ,I'm {1} years old ".format("Alex",18)
print(res)  

# 混合使用
res= "My name is {} ,I'm {} years old,I am a {profession}.".format(name,age,profession="student")
print(res) 
3.f-string
res = f"My name is {name} ,I'm {age} years old "
print(res)

详细的格式化字符串内容参考:
https://blog.csdn.net/zjbyough/article/details/96466658?spm=1001.2014.3001.5506
点击原文

二.SQL实例快速生成

条件语句的批量生成

1.连续值转分组值

SQL如果需要使用CASE WHEN 进行人群分组,多组写起来就会很麻烦,可以用以下代码生成

# 1.连续值转分组值
# 分值按10间隔进行分组
hhh_sql="""
when points > {} and points <={} then '({},{}]'
"""

for i in range(0,100,10):
    res = hhh_sql.format(i,i+10,i,i+10)
    print(res)

结束输出

2.自定义参数生成多个SQL脚本
# 2.自定义参数生成多个SQL脚本
# 生成一系列的SQL查询语句,统计满足特定日期和条件组合的记录数量
dts = ['20230101','20240101','20240201']
conds = ['class1','class2','class2']
for i in range(len(dts)):
    dt = dts[i]
    cond = conds[i]
    hhh_sql ="""
-- 这是第{}条SQL,日期是{}
select  
    count(*)
from tableA
where 
dt =  '{}'
and conds =  '{}'
;
"""
    res = hhh_sql.format(i+1,dt,dt,cond)
    print(res)

输出图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值