美文网首页sqlalchemyMySQL
SQLAlchemy中使用case查找属性对应的常量值

SQLAlchemy中使用case查找属性对应的常量值

作者: 码农小杨 | 来源:发表于2017-12-06 14:31 被阅读61次

问题大致描述:

我们在数据库保存数据的时候为了节省空间,经常使用数字来保存经常出现的字符串,例如我们使用数字1代表数学2代表英语。但是,当我们使用SQL或者SQLAlchemy查出来的数据也是数字,如果我们想得到对应的科目可能就要另想办法,今天我给大家介绍一下我使用的方法。

在使用SQL查询的时候Case具有两种格式。简单Case函数和Case搜索函数。
--简单Case函数

CASE sex 
         WHEN '1' THEN '男' 
         WHEN '2' THEN '女' 
ELSE '其他' END 

--Case搜索函数

CASE WHEN sex = '1' THEN '男' 
         WHEN sex = '2' THEN '女' 
ELSE '其他' END 

当我们使用SQLAlchemy时候

case(
      [
        (users_table.c.name == 'wendy', 'W'),
        (users_table.c.name == 'jack', 'J')
      ],
       else_='E'
     )

最后有默认指定值
具体使用位置为with_entities内部可以直接返回对应结果

参考链接:
官网:http://docs.sqlalchemy.org/en/rel_0_9/core/sqlelement.html#sqlalchemy.sql.expression.case
博客:
http://www.cnblogs.com/clphp/p/6256207.html

相关文章

  • SQLAlchemy中使用case查找属性对应的常量值

    问题大致描述: 我们在数据库保存数据的时候为了节省空间,经常使用数字来保存经常出现的字符串,例如我们使用数字1代表...

  • iOS开发:runtime实现字典转模型

    实现思路: 遍历模型中所有属性,根据模型的属性名去字典中查找key,取出对应的的值,给模型的属性赋值 使用到的ru...

  • iOS底层原理——Runtime

    实现思路: 遍历模型中所有属性,根据模型的属性名去字典中查找key,取出对应的的值,给模型的属性赋值 使用到的ru...

  • 使用runtime和KVC字典转模型

    使用KVC字典转模型的时候,KVC是通过遍历字典中的所有的key去模型中查找有没有对应的属性名,而runtime则...

  • js面向对象之 对象的原型

    原型对象使用的注意点 01访问属性|方法 访问逻辑:首先先在对象身上查找是否有对应的属性|方法,如果有就直接使用,...

  • Stream的groupBy用法

    说明 groupBy在一些地方很有用,比如一个A对应多个B,要从数据库中查找多个A以及对应的B属性,可以使用Lis...

  • 2018-10-16【java中的switch case】

    switch-case语句格式如下 switch(变量){case 变量值1: //;break;case 变...

  • __getattr__使用

    正文 __getattr__函数的作用: 如果属性查找(attribute lookup)在实例以及对应的类中(通...

  • 6. 实现字典转模型的自动转换

    思路:利用运行时,遍历模型中所有属性,根据模型的属性名,去字典中查找key,取出对应的值,给模型的属性赋值。步骤:...

  • flask_sqlalchemy使用

    postgresql—flask-sqlalchemy字段对应 主键默认使用uuid 字段不为空 设置外键

网友评论

    本文标题:SQLAlchemy中使用case查找属性对应的常量值

    本文链接:https://www.haomeiwen.com/subject/mqokixtx.html