本系列文章的第一部分讲述了如何利用系统函数提取有关数据修改,服务器属性和用户的信息。本文介绍了其它系统函数的用法,包括如何查看会话信息,如何利用SQL Server语言工具增强你的T-SQL语句功能。 利用语言工具 总结起来,我们来看看你能在T-SQL语句中用作工具的函数。这些函数类型通常帮助获取指定类型的数据。
例如,下面的“SELECT”语句利用了T-SQL的“NEWID ”函数来创建“uniqueidentifier”类型的唯一数值。 SELECT NEWID() AS NewGuid; 从下面的结果中你可以看到,该语句返回一个新的值,显示为“uniqueidentifie……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
本系列文章的第一部分讲述了如何利用系统函数提取有关数据修改,服务器属性和用户的信息。本文介绍了其它系统函数的用法,包括如何查看会话信息,如何利用SQL Server语言工具增强你的T-SQL语句功能。
利用语言工具
总结起来,我们来看看你能在T-SQL语句中用作工具的函数。这些函数类型通常帮助获取指定类型的数据。例如,下面的“SELECT”语句利用了T-SQL的“NEWID ”函数来创建“uniqueidentifier”类型的唯一数值。
SELECT NEWID() AS NewGuid;
从下面的结果中你可以看到,该语句返回一个新的值,显示为“uniqueidentifier”类型:
你可以使用的另一个函数是“PARSENAME”,它支持你解析完全合格的组件对象名称。该函数有两个参数:完全合格的对象名称和你想识别的组件名称。例如,下面的“SELECT”语句中我使用“PARSENAME ”函数来解析独立组件“Address”表名。
SELECT PARSENAME('WinSrv.AdventureWorks2008.Person.Address', 4) AS ServerName, PARSENAME('WinSrv.AdventureWorks2008.Person.Address', 3) AS DbName, PARSENAME('WinSrv.AdventureWorks2008.Person.Address', 2) AS SchemaName, PARSENAME('WinSrv.AdventureWorks2008.Person.Address', 1) AS ObjectName; |
如下面的结果所示,该函数解析了该表完全合格名称的每个组件:
在下个例子中,我利用“ISDATE ”函数和“ISNUMERIC ”函数来识别指定值的数据类型:
SELECT ISDATE('2010-08-04 17:33:45.590') AS IsDatetime, ISNUMERIC('12ec3') AS IsNumber; |
“ISDATE ”函数识别作为入参传递的值是否是合法的日期时间值,而“ISNUMERIC ”函数识别入参传递的值是否是合法的数值。如果该值的类型争取,该函数就会返回值“1”,而如果该值的类型不正确,该函数返回的值为“0”。对于上面的例子,该语句返回结果如下:
如你所见,第一个值是合法的日期时间值,而第二个值不是合法的数值。
另一个有用的函数是“ISNULL ”函数,如果源值是null的话,该函数返回指定的值。例如,下面的“SELECT”语句我使用了“ISNULL ”函数,如果“SalesQuota ”的值是null的话就返回“0”:
SELECT FirstName + ' ' + LastName AS FullName, ISNULL(SalesQuota, 0) AS SalesQuota FROM Sales.vSalesPerson WHERE CountryRegionName = 'United States';、 |
在源数据中,有三行数据的“SalesQuota”值是null,它们是:Stephen Jiang, Amy Alberts 和 Syed Abbas。对于这三行,“ISNULL”函数对“SalesQuota ”值返回“0”,如下表所示:
正如上面的例子和我前面的文章展示的那样,在操作SQL Server数据时系统函数非常有用。然而,我没有覆盖到每种分类中的所有可用函数。系统函数还包括错误处理函数,在你的T-SQL代码包含“TRY…CATCH”块时可以使用。
翻译
相关推荐
-
如何解决和避免SQL Server数据库死锁
学习如何避免SQL Server数据库死锁的第一步是做好准备工作。根据SQL Server专家的说法,了解死锁 […]
-
如何使用SQL Server数据库脚本创建数据库?
你可以手工创建SQL Server数据库,但懂得如何设置数据库脚本是十分必要的。本文是执行数据库创建脚本所涉及的步骤。
-
如何为你的数据库事务日志减肥?
在大多数SQL Server的工作环境中,尤其是在OLTP环境中,数据库的事务日志性能出现瓶颈时往往会导致事务完成需要更多的时间。
-
SQL Server版本指南之免费版数据库
本系列文章共分为三个部分,分别讨论SQL Server企业版、免费版和标准版三个版本的数据库平台,本文主要介绍SQL Server免费版数据库。