python - 如何从 Django 中的 sql 中检索分隔符后的子字符串?
问题描述
如何从 Django 中的 sql 中检索分隔符后的子字符串?
例如,我的 sql 数据库中保存了“2021-22:32”。我希望运行一个返回“32”的查询,即分隔符“:”之后的子字符串。
我怎么能在 Django 中做到这一点?
说我的模型是
class model(models.Model):
str=models.CharField(max_length=25)
建议一个返回所有实体的查询,但具有如上所述的 str 值。
解决方案
在纯 Python 中,您有以下选项:
inp = "2021-22:32"
output = inp.split(':')[1] # 32
output = re.sub(r'^.*:', '', inp) # 32
在 SQL 方面,您可以使用类似的选项,具体取决于您的特定数据库供应商实际上是什么。例如,在 Postgres 上,您可以使用以下SPLIT_PART
功能:
SELECT SPLIT_PART('2021-22:32', ':', 2); -- 32
推荐阅读
- ruby-on-rails - 如何在 Rails 中的视图和控制器之间共享变量?
- android - 我有一个没有触摸屏的安卓设备
- python - 列表理解以获取相同值的 2D 列表
- java - 重载具有不同访问修饰符、返回类型和参数的方法是否仍被视为重载?
- java - Apache Camel 或 springboot 上用于转换和路由的任何更好的替代方案
- javascript - React Router:在主页组件中单击站点徽标时重新加载主页
- sql - SQL查询返回与具有特定值的另一列关联的列
- html - 我无法正确设置下拉内容位置。它显示得比我想要的要高
- r - 如何使用 R 中的多目标模型预测多个目标变量
- vb.net - 如何在没有 GCD 的情况下获得 2 个号码的 LCM?