使用ASP.net ado.net 用sql 语句直接操作数据库时 判断是否为NULL要用 Is null 来判断 不能用=null。否则数据会查不出来
linq 中可以用=null 来判断
sql 在使用加减运算时 要注意
1:当值允许为空的字段 应用isnull处理 否则算出来的不正确 isnull(LingYongFenShu,0)-isnull(ZuoFeiFenShu,0)
2:使用自带的Sum 函数计算时可以不用特殊处理值允许为空的字段
cast(avg(分数*1.0) as decimal(18,2)) 平均分 cast是进行数据类型转化 分数*1.0 :因为数据库中份数设置成了int 类型 必须先让他乘以1.0 变成浮点型 然后再进行 否则算出来的值始终没有保留小数位数
在sql server 中执行带参数的存储过程及计算运行时间
--存储过程片断
ALTER PROCEDURE [dbo].[CurrentPageInfo]
-- 获得某一页的数据--
@beginNo int = 0, --起始记录号(即从哪一条开始取)
@count int = 100, --取的结果集的总数
@resultColumns varchar(2000) = '*', --需要得到的字段(即column1,column2,......)
@tableName varchar(2000), --需要查看的表名(即from table_name)
@condition varchar(2000) = '', --查询条件(即where condition......) 不用加where关键字
@orderByColumn varchar(100) = '', --排序的字段名(即order by column asc/desc)
@orderByType bit = 0, --排序的类型(0为升序,1为降序)
@indentColumn varchar(50) = '' --自增长列名称
AS...
--存储过程片断 End
--sql 语句
declare @runTime datetime
set @runTime=getdate()
--exec 存储过程名 存储过程需要的参数,字符串用单引号括起,数字直接写,缺省用null代替
exec CurrentPageInfo 2,10,'bookid,bookname','bookinfo',null,'CreateTime',0,'ID'
select [语句执行花费时间(毫秒)]=datediff(ms,@runTime,getdate())