SQL基础知识的一些总结

我写了下面一个SQL,其中的彩色部分是我之前不知道的技术,在这里总结一下:

 

select a.room_code, c.mach_gate,c.eng_name,item_name,b.result,
case
when b.result = '-----' then ''
when ISNUMERIC(b.result)=0 then ''
when b.downbound = null or b.downbound = '' then ''
when b.upbound = null or b.upbound = '' then ''
when convert(decimal(15,4),b.result) convert(decimal(15,4),b.downbound) then '↓'
when convert(decimal(15,4),b.result) > convert(decimal(15,4),b.upbound)   then '↑'
else '' end,
       b.downbound,'~',b.upbound,unit ,'*'+a.Reg_no+'*' as  Reg_no1
from as_report a,as_repentry b,as_code_item  c
where  a.rep_no = b.rep_no and
 a.room_code = c.room_code and
 a.mach_code = c.mach_code and
 b.item_code = c.item_code and
 isnull(a.Reg_no,'') =   1001 and a.rep_no in (  1002)
 order by a.rep_no,c.seq_no1

 

1、case  when then SQL里的条件语句格式。

2、ISNUMERIC(b.result)=0 当输入表达式的数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。

3、decimal(a,b)
a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。
b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。

4、convert(a,b)

将b转换成a的数据类型。

5、isnull(a.Reg_no,'')

微软的 ISNULL() 函数用于规定如何处理 NULL 值。这里希望将NULL值转换成空字符串''

你可能感兴趣的:(sql,report,null,存储,微软)