2023-12-01 零散的知识

1.帆软公式的switch用法:
switch(要判断的变量,值1,返回值1,值2,返回值2,...)
将要判断的变量放在第一个逗号前,若该变量等于值1,则返回返回值1,以此类推。
结合nvl可以写一个default。
如,当不满足任何switch内的值时,返回空
nvl(switch(要判断的变量,值1,返回值1,值2,返回值2,...),'')
2.将数据库查询到的一列值变成一串字符串输出,如,查询到

需要得到北京','上海','宁波','重庆','成都','香港','广州这样一串字符串。
假设这个数据查询的列名为CITY
则sql为

SELECT
  replace(wm_concat(T.CITY),',',''',''') as CITY
  或者
  wm_concat(T.CITY,''',''')
FROM TABLE_NAME T

单引号中的单引号需要用两个单引号进行转义。
则得到结果为
为了用帆软提取这个值,使用公式value

value('数据查询名','CITY',1)

意为拿取该数据查询的CITY列的第一个值。
3.获取数据库查询的其中几行

WHERE ROWNUM<=10

拿取前10行
4.分区排序

SELECT * 
FROM   (select sno,cno,degree,
       row_number()over(partition by cno order by degree desc) mm 
       from score) 
where mm = 1;

按cno分区按degree排序,并拿取每个分区的第1名。
5.sql的decode函数用法,相当于if...else if ... else语句

SELECT 
ID,
DECODE(inParam,'param1','值1' ,'param2','值2','param3','值3','param4','值4','param5','值5') name 
FROM test_table;
#(1)如果第一个参数inParam == 'param1'
#那么那么 select 得到的那么显示为值 1;

#(2)如果第一个参数inParam == 'param2'
#那么那么 select 得到的那么显示为值 2;

#(3)如果第一个参数inParam == 'param3'
#那么那么 select 得到的那么显示为值 3;

#(4)如果第一个参数 inParam == 'param4'
#那么那么 select 得到的那么显示为值 4;

#(5)如果第一个参数 inParam == 'param5'
#那么那么 select 得到的那么显示为值 5;

#(6)都不相等就为 '  '
————————————————
 

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值