摘要: sqlserver中除法,会遇到除数为0的情况,且保留两位小数,写法如下:selectcasewhennum=0then0elseconvert(decimal(18,2),210.343/num)endas结果fromtabNumberselect[Carrier]as'承运人分组',count(*)as'张数','0'as'出票效率',sum(cast(SumPriceasint))as'票面价',sum(cast([TaxPrice]asint))as'基建费',sum(cast([OilPr 阅读全文
posted @ 2011-08-09 18:30 dodo-yufan 阅读(28474) 评论(0) 推荐(0) 编辑
摘要: DATEDIFF 返回跨两个指定日期的日期和时间边界数。 一、 语法Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->DATEDIFF(datepart,startdate,enddate) 二、参数 datepart 是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。Code highlighting produced by Actipro CodeHighli 阅读全文
posted @ 2011-08-09 18:28 dodo-yufan 阅读(501) 评论(0) 推荐(1) 编辑
摘要: 在SQL语句中使用集合函数count(),返回结果肯定为非负整数,这也是用来判断数据有无的一个很有效的方法; 然后在用sum()进行集合相加的时候,如果sum()的对象没有记录,那么不会返回0,而返回null,这么做,不会影响数据库,因为数值型字段也是可以存放NULL的,因为在执行这样的SQL语句的时候,没有记录也不会报错。但是执行完之后,要使用这个数据就有问题了。1、在程序里处理的时候,比如进行四则运算或其他的强类型转换的时候,就会提供类型不正确或是与其它数据相加得到的结果变成NULL,因为NULL+number= Null。2、统计的结果的SQL语句中有其它的运算,同1的最后一种情况,Nu 阅读全文
posted @ 2011-08-09 17:54 dodo-yufan 阅读(718) 评论(0) 推荐(1) 编辑