精华内容
下载资源
问答
  • 多个判断返回不同的值
    万次阅读
    2019-07-09 15:41:18

    原生SQL写法:

    select case 
      when total > max then 2 
      when total < min then 1 
    else 0
    end
    from ta 

    PHP(ThinkPHP)写法:

    $data = Db::connect('data')->name("pay-{$date}")
       ->where($where)
       ->order('id', 'desc')
       ->limit(($page - 1) * 50, 50)
       ->field('id,case when payType=1 then "支付宝" when payType=2 then "微信" else "未知" end as payType')
       ->select();
    

     

    更多相关内容
  • 如何在SQL CASE表达式中返回多个值

    千次阅读 2017-08-17 09:01:50
    Oracle数据库开发中CASE...THEN子句有时需要返回多个值用于判断,如何做才能在CASE...THEN表达式中返回多个值呢,具体参考下面的演示: SQL> select case 2 when to_char(sysdate, 'SS') > 30 then sys.odcivarchar...
    Oracle数据库开发中CASE...THEN子句有时需要返回多个值用于判断,如何做才能在CASE...THEN表达式中返回多个值呢,具体参考下面的演示:
    SQL> select case
      2           when to_char(sysdate, 'SS') > 30 then sys.odcivarchar2list('Sent')
      3           else sys.odcivarchar2list('New', 'Sent')
      4         end options
      5    from dual;
    
    OPTIONS
    --------------------------------------------------------------------------------
    ODCIVARCHAR2LIST('Sent')
    
    SQL> /
    
    OPTIONS
    --------------------------------------------------------------------------------
    ODCIVARCHAR2LIST('New', 'Sent')
    SQL> select *
      2    from table(
      3            select case when to_char(sysdate,'SS') > 30 then sys.odcivarchar2list('Sent')
      4                        else sys.odcivarchar2list('New','Sent')    
      5                   end options
      6            from dual
      7              );
    
    COLUMN_VALUE
    --------------------------------------------------------------------------------
    New
    Sent
    SQL> /
    
    COLUMN_VALUE
    --------------------------------------------------------------------------------
    Sent
    SQL> select *
    from emp
    where report_status in 
    (
    select *
    from table(
    select
    case
    when to_char(sysdate,'SS') > 30 then sys.odcivarchar2list('Sent')
    else sys.odcivarchar2list('New','Sent')
    end options
    from dual
    )
    ) ;

    展开全文
  • case when then 后返回多个值

    万次阅读 2018-09-27 17:35:31
    背景:查询数据,需要根据不同性别选择不同的排序字段和排序规则,总体先按照性别排列,“女”排在“男”前,然后性别为“男”按照last_name,height,family_name,age进行升序排列,性别为“女”按照family_name,...

    背景:查询数据,需要根据不同性别选择不同的排序字段和排序规则,总体先按照性别排列,“女”排在“男”前,然后性别为“男”按照last_name,height,family_name,age进行升序排列,性别为“女”按照family_name,age,height,last_name降序排列,

    CREATE TABLE friends (
    	id int UNSIGNED not null auto_increment comment '主键',
    	family_name VARCHAR(10) COMMENT '姓氏',
    	last_name VARCHAR(20) COMMENT '名字',
    	sex VARCHAR(2) COMMENT '性别',
    	age int COMMENT '年龄',
    	height int COMMENT '身高',
    	PRIMARY KEY (id)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='';
    INSERT INTO friends(family_name,last_name,sex,age,height) 
    	values('wang','li','女',18,50),
    	('li','piaoliang','女',19,51),
    	('zhang','san','男',18,60),
    	('liu','mei','女',17,46),
    	('zhao','xiaoman','女',20,49),
    	('chen','meng','男',16,55);

    (1)mybatis项目:直接使用mybatis的动态SQL即可实现,例如

    <select id="getInfo" resultType="java.util.Map">
        select * from friends order by convert(sex USING gbk) desc
        <choose>
            <when test="sex == '女'">
                , family_name, age, height, last_name desc
            </when>
            <when test="sex == '男'">
                , last_name, height, family_name, age desc
            </when>
        </choose>
    </select>

    (2)如果无法在系统中使用动态SQL,可以在SQL中使用case when then else end语法来实现,不过case when then一般返回一个字段,对于这种多个字段的,可以采用如下方式

    select * from friends order by convert(sex USING gbk) desc,
        case when sex = '女' then family_name else last_name end,
        case when sex = '女' then age else height end,
        case when sex = '女' then height else family_name end,
        case when sex = '女' then last_name else age end
    desc

    查询结果如下:

    SQL语句中的convert是为了中文按照拼音排序,可参考:https://blog.csdn.net/yangfengjueqi/article/details/82683688

     

    展开全文
  • Python函数如何返回多个值,如何在调用函数时分别接收返回的多,返回值为空或无返回值情况如何解决

    1.python函数如何返回多个值    

            Python函数的返回语句return严格意义上来说只能返回一个值,可以是任何类型,因此,可以通过返回一个“tuple”(定值表)类型值来间接达到返回多个值的目的。示例代码如下:

    def    res ( x, y ):

             a = x % y

             b = (x-a) / y

             return(a,b)    #也可以写作  return a,b

    2.调用函数时分别接收多个值

       接收python返回的多个值时有两种方法,一种是建立变量进行接收,一种是操作字符串的方式进行接收,示例代码分别如下:

    (1)操作字符串方式

      result = res(2,1)

      print(res[0],res[1])   #打印结果为:2,1

    (2)建立变量方式

      r1,r2 = res(2,1)

      print(r1,r2)    #打印结果为:2,1

    3.返回值为空或无返回值

         在Python中,当程序执行到return的时候,程序将停止执行函数内余下的语句。return并不是必须的,当没有return, 或者return后面没有返回值时,函数将自动返回None。None是Python中的一个特别的数据类型,用来表示什么都没有,相当于C语言中的NULL。None多用于关键字参数传递的默认值。示例代码如下:

    a = None

    b = None

    def  res(x,y):

           a = x%y

           b = (x-a) / y 

    result = res(2,1)

    print(result)    #结果应为“None"

    展开全文
  • oracle根据条件不同返回不同

    千次阅读 2018-06-08 10:16:06
    decode函数(如果条件=‘等于条件1’,则返回‘返回值1’) decode(条件,‘等于条件1’‘返回值1’,‘等于条件2’‘返回值2’,‘等于条件3’‘返回值3’,)...
  • 相信大家肯定在if函数的使用上踩过大坑,这是逻辑上的思维,经常因为一点不注意,整个代码就乱了,面对分支选择我们要怎么做?一起来看下吧~实例01:编程实现输入学生的语文、数学、英语的成绩,单科满分100分判断...
  • 如果有也就是判断releaseStatus字段有没有为true的,只要有一为true就给出提示让撤回后再删除,如果没有发布中的直接删除,下面这句可以快速判断,只要有一是true就返回false,否则返回true。看项目需要也可以用...
  • decode(类型, '类型1', '1', '类型2', '2', '其它') 方法二:使用case语句 最后希望文章对你有所帮助,主要讲述了使用DECODE函数和CASE判断问题,当然如果多个类型也是可以判断并多指输出的,但建议通常...
  • 判断对象的是否相等

    千次阅读 2020-12-31 02:39:43
    判断对象的是否相等源代码function isEqual (a, b) {const classNameA = toString.call(a)const classNameB = toString.call(b)// 如果数据类型不相等,则返回falseif (classNameA !== classNameB) {return ...
  • 直接上代码 var arr1 = [数组1] var arr2 = [数组2] var data1 = [] var data2 = [] for(var i = 0; i ; i++){ var id1 = arr1[i].id; var isDifferent = false; for(var j = 0;... //这是不同值 } }
  • /** 判断多个字符串是否相等,如果其中有一个为空字符串或者null,则返回false,只有全相等才返回true */ public static boolean isEquals(String... agrs) { String last = null; for (int i = 0; i ; i++) {...
  • 主要思想还是通过反射获取类的属性的getter方法,调用getter方法获取并比较是否相同,相同就忽略不同返回属性信息,方法都不复杂,主要是利用反射思想。 代码如下: 定义一类保存比较后的返回值信息 @Data ...
  • java判断list是否包含某个

    千次阅读 2021-02-26 16:33:46
    如果列表中包含指定元素,则返回true,否则返回false。语法:contains(Object o);o:要判断是否存在于列表中的元素。具体使用举例:遍历list数据,过滤掉时间相同的数据try {List list = new ArrayList();List ...
  • java怎么判断list是否包含指定

    千次阅读 2021-02-26 16:33:36
    java怎么判断list是否包含指定发布时间:2020-06-26 14:52:27来源:亿速云阅读:213作者:Leah这篇文章将为大家详细讲解有关java判断list是否包含指定的方法,文章内容质量较高,因此小编分享给大家做参考,...
  • C++找出多个数的最大

    千次阅读 2020-05-01 15:00:46
    参考:https://codereview.stackexchange.com/questions/26100/maximum-of-three-values-in-c 使用C++11。 需要algorithm标准库 #include <iostream> #include <algorithm> ...using namespace std;... i...
  • vue v-if 判断某个元素满足多个条件的写法

    万次阅读 多人点赞 2020-10-10 10:29:29
    v-if判断active满足0的时候写法是:v-if="active === 0" 那如果active同时要满足0,1,2三个的时候,如果在v-if里用 || 并列写 ...第二种,使用方法,复用性高,适用场景:多个标签都需要用到此判断 标签中:
  • 表数据如下: ...已知需同时满足的relevance_id_的的数量为2,则只需要遍历abstract_id_,只要abstract_id_的total_与relevance_id_的的数量相同,则该abstract_id_就是要求出的。  
  • ps:截取位置为1/2/3/4 select split_part(path,'/', 3) FROM user WHERE id = '111' 四、将一个角色的多个权限用逗号连接合并到一行 SELECT string_agg(a.authname,',') authname, r.id FROM role r, auth a WHERE ...
  • 查询结果存在为空给与一默认值 nvl(h.date_type, '时间类型') as dateType ...根据条件判断返回对应 第一种: case when h.date_time= 0 then '7天' when h.date_time= 1 then '半月' when h...
  • js判断list的某一个值是不是存在

    万次阅读 2018-12-13 22:36:46
    今天要说的是怎么判断list里面的某一个值是不是存在的,其实我们在做js和后端的接口做数据交互的时候会有很种数据结构传递过来,常见的是JSON格式的,我们处理起来也是比较方便的,但是有的时候的需求是不需要...
  • js 方法返回布尔

    千次阅读 2019-08-15 12:16:39
    1.checkPolicyReconciliation()方法里面不能直接return true,或者reurn false ,否则 外层判断的时候if(checkPolicyReconciliation(policyCode) == false) 方法返回的是undefined,所以要设置一变量,返回变量...
  • 此种问题我一般应用于全选多选的判断 1、findIndex() 方法 返回第一符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。 var ticketArr=[ { name:'大师傅', isshow:false }, { name:'的...
  • 场景如下, 有一张用户表user,主键用户编号user_id ,类型int; 三张业务表 a_record,b_record...(只要这user_id字符串中的有一人有其中之一业务记录,我就可以返回true,否则返回false ) 这sql语句怎么写?
  • 实际开发中,存在比较两对象,需要校验某些字段是否相同,如果不同,需返回属性名称和属性对比结果 比较笨的办法就是,对两对象需要判断的属性一一进行对比,如果只有几属性需要对比,可以满足,但是字段...
  • 编写一函数,使其返回 3 整型参数中的最大。 更资料请点击:我的目录 #include <stdio.h> int max(int x1, int x2, int x3); //函数声明,必须要写在main()函数前 int main() { int a, b, c; ...
  • 值得注意的是如何用一行代码让用户一次性输入为多个变量赋值Python# 定义一个getMax()函数,返回三个数(从键盘输入的整数)中的最大。def getMax(a, b, c):t = 0if a > b:t = aelse:t = bif t > c:return "其中最大...
  • # for循环中,输出不同结果 for i in [1,5,9]: s = i + 1 print("输出所有数字,和它的+1结果:",i,s) for i in [1,5,9]: s = i + 1 print("输出最后1数字,和它的+1结果:",i,s) s = 0 for i in [1,5,9]: s...
  • 现要查询得到最大 , 并只需要返回最大 方法一: select case when F12>F34 then F12 else F34 end as MaxNum from (select case when F1>F2 then F1 else F2 end as F12, case when F3>F4 then
  • //从数组中获取最大和最小值 let max = Math.max.apply(null, counts...//根据数值大小返回颜色的深浅 //n代表数值,方法用在数组遍历时 function getColor(min,max,n) { if(max == min){ if(n>0){ return ‘r...
  • 这也是我在做项目遇到的问题,我的做法是把数组中的相同都删除掉,剩下的就不一样了,可能写出来跟讲出来的,来理解还是不一样,下面附上我的全代码与注解:(方法很种,用ES6、indexOf等等) <!DOCTYPE ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,350,250
精华内容 540,100
热门标签
关键字:

多个判断返回不同的值