仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 806|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页设计SQLServer的ISNULL使用举例

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:24:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。server|sqlserverISNULL
利用指定的交换值交换NULL。

语法
ISNULL(check_expression,replacement_value)

参数
check_expression

将被反省是不是为NULL的表达式。check_expression能够是任何范例的。
replacement_value
在check_expression为NULL时将前往的表达式。replacement_value必需与check_expresssion具有不异的范例。
前往范例
前往与check_expression不异的范例。

正文
假如check_expression不为NULL,那末前往该表达式的值;不然前往replacement_value。

示例
A.将ISNULL与AVG一同利用
上面的示例查找一切书的均匀代价,用值$10.00交换titles表的price列中的一切NULL条目。

USEpubs
GO
SELECTAVG(ISNULL(price,$10.00))
FROMtitles
GO

上面是了局集:
--------------------------
14.24

(1row(s)affected)
B.利用ISNULL
上面的示例为titles表中的一切书选择书名、范例及代价。假如一个书名的代价是NULL,那末在了局会合显现的代价为0.00。

USEpubs
GO
SELECTSUBSTRING(title,1,15)ASTitle,typeASType,
ISNULL(price,0.00)ASPrice
FROMtitles
GO

C.在FullJoin情形下利用ISNULL
表A:
tid
uid
anum

表B:
tbid
uid
bnum1
bnum2
必要经由过程uid全毗连两个表:
selecta.tid,a.uid,a.anum,b.bnum1,b.bnum2fromafulljoinbona.uid=b.uid
全毗连会有良多为空的情形,可使用ISNull来办理,改成:
selectisnull(a.tid,b.tid),isnull(a.uid,b.uid),isnull(a.anum,0),isnull(b.bnum1,0),isnull(b.bnum2,0)fromafulljoinbona.uid=b.uid

再加上一种在asp.net2.0中的综适用法:
<%@PageLanguage="C#"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>Showingallitemsinafilteredlist</title></head><body><formid="form1"runat="server"><div><asp:DropDownListAppendDataBoundItems="True"AutoPostBack="True"DataSourceID="SqlDataSource2"DataTextField="state"DataValueField="state"ID="DropDownList1"runat="server"><asp:ListItemValue="">ALL</asp:ListItem></asp:DropDownList><asp:SqlDataSourceConnectionString="<%$ConnectionStrings:Pubs%>"ID="SqlDataSource2"runat="server"SelectCommand="SELECTDISTINCT[state]FROM[authors]"></asp:SqlDataSource><br/><br/><asp:GridViewAutoGenerateColumns="False"DataSourceID="SqlDataSource1"ID="GridView1"runat="server"DataKeyNames="au_id"><Columns><asp:BoundFieldDataField="au_id"HeaderText="au_id"ReadOnly="True"SortExpression="au_id"/><asp:BoundFieldDataField="au_lname"HeaderText="au_lname"SortExpression="au_lname"/><asp:BoundFieldDataField="au_fname"HeaderText="au_fname"SortExpression="au_fname"/><asp:BoundFieldDataField="state"HeaderText="state"SortExpression="state"/></Columns></asp:GridView><asp:SqlDataSourceConnectionString="<%$ConnectionStrings:Pubs%>"ID="SqlDataSource1"runat="server"SelectCommand="SELECTau_id,au_lname,au_fname,stateFROMauthorsWHEREstate=IsNull(@state,state)"CancelSelectOnNullParameter="False"><SelectParameters><asp:ControlParameterControlID="DropDownList1"Name="state"PropertyName="SelectedValue"Type="String"/></SelectParameters></asp:SqlDataSource></div></form></body></html>


先说DDL的分类。有一类DDL,是不需要重建表的,比如加非聚簇索引。这类操作其实不会丢数据,也是在原表上直接操作,对于我们“以恢复数据为目的”的闪回,是可以先忽略的。另外一类,则是会影响到表数据的操作。
山那边是海 该用户已被删除
沙发
发表于 2015-1-19 10:53:24 | 只看该作者
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
谁可相欹 该用户已被删除
板凳
发表于 2015-1-25 19:17:14 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
爱飞 该用户已被删除
地板
发表于 2015-2-3 16:07:31 | 只看该作者
其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
小魔女 该用户已被删除
5#
发表于 2015-2-9 03:50:34 | 只看该作者
分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。
若天明 该用户已被删除
6#
发表于 2015-2-26 20:51:24 | 只看该作者
需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。
金色的骷髅 该用户已被删除
7#
发表于 2015-3-8 17:39:53 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
老尸 该用户已被删除
8#
发表于 2015-3-16 08:36:55 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
小女巫 该用户已被删除
9#
发表于 2015-3-22 21:36:16 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 03:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表