Sql server函数的学习1(系统变量、错误函数、转换函数)
一、系统变量的介绍和使用
1、@@ERROR 变量
2、@@SERVICENAME 变量
3、@@TOTAL_ERRORS 变量
4、@@TOTAL_READ 变量
5、@@VERSION 变量
二、错误函数的介绍和使用
1、错误捕获的使用(try/catch)
2、错误函数使用
3、错误函数的说明
- ERROR_MESSAGE():返回错误的描述
- ERROR_NUMBER(): 返回错误的错误号
- ERROR_SEVERITY(): 返回错误的错误级别
- ERROR_STATE():返回错误的错误状态
- ERROR_LINE(): 返回错误的错误行号
- ERROR_PROCEDURE(): 返回发生错误的存储过程名和触发器名
4、错误级别的说明
三、转换函数的介绍和使用
1、CAST()函数
2、CONVERT()函数
3、STR()函数
一、系统变量的介绍和使用
1、@@ERROR 变量
@@ERROR ,这个变量包含当前连接发生的最后一次错误的代码。在执行的语句没有错误时,@@ERROR变量的值是0。出现标准错误时,
错误是由数据库引擎引发的。所有的标准错误代码与消息都保存在sys.messages系统视图中
1)查询数据库中标准错误代码和消息
先试着将一个数除以0,数据库引擎会引发标准错误号为8134的错误。注意查看Results选项卡中的查询结果。
2)@@ERROR变量的使用
返回编制错误号为8134(代表遇到以零做除数错误的代码编号)
3)检查更多错误信息(多种语言)
4)检查错误信息的地区、名称、语言id
2、@@SERVICENAME 变量
这个变量是用于执行和维护当前SQL Server实例的Windows服务名。它通常返回SQL Server默认实例MSSQLSERVER,
但SQL Server的指定实例有唯一的服务名。
1)获取数据库的服务名称
3、@@TOTAL_ERRORS 变量
这个变量用于记录从打开当前连接开始发生的总错误次数。和@@ERROR变量一样,它对每个用户会话是唯一的,
并将在连接关闭时被重置。
1)查看连接总错误次数
4、@@TOTAL_READ 变量
这个变量记录从打开当前连接时开始计算的磁盘读取总数。DBA使用这个变量查看磁盘读取活动的情况
1)查看磁盘读取总数
5、@@VERSION 变量
这个变量包含当前SQL Server实例的完整版本信息
1)获取sql sever的版本信息
二、错误函数介绍和使用
1、错误捕获的使用
数据sql 用try/catch函数来捕获错误
2、错误函数的使用
例子如下:
3、错误函数说明
4、错误级别说明
三、转换函数的介绍和使用
数据类型转换可以通过CAST()和CONVERT()函数来实现,任何可以转换的值都可以用简单的函数实现转换,CAST()函数和CONVERT()函数
都不能执行四舍五入或截断操作
使用数据表的数据
1、CAST()函数
CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型
1)Cast()函数的简单用法
2)Cast()在数据表中用法
用来将日期格式转换为字符串格式
2、Convert ()函数
对于简单类型转换,CONVERT()函数和CAST()函数的功能相同,只是语法不同。CAST()函数一般更容易使用,其功能也更简单。
CONVERT()函数的优点是可以格式化日期和数值,它需要两个参数:第1个是目标数据类型,第2个是源数据。
1、Convert()使用
1)Convert()函数的简单使用
2)Convert()函数在数据表使用
3)日期格式代码表(Convert()的第三个函数)
如:Convert(varchar(20),GetDate(),120),其中120代表输出日期格式为yyyy-MM-dd HH:mm:ss
注意:
1. 1、 这些样式值将返回不确定的结果。包括所有 (yy)(不带世纪数位)样式和一部分 (yyyy)(带世纪数位)样式。
2. 2、 默认值(style 0 或 100、9 或 109、13 或 113、20 或 120 以及 21 或 121)始终返回世纪数位 (yyyy)。
3. 3、 转换为 datetime 时输入;转换为字符数据时输出。
4. 4、 为用于 XML 而设计。对于从 datetime 或 smalldatetime 到字符数据的转换,其输出格式如上一个表所述。
5. 5、 回历是有多种变体的日历系统。SQL Server 使用科威特算法。
a) 默认情况下,SQL Server 基于截止年份 2049 年来解释两位数的年份。换言之,就是将两位数的年份 49 解释为 2049,将两位数的年份 50 解释为 1950。许
许 多客户端应用程序(如基于自动化对象的应用程序)都使用截止年份 2030 年。SQL Server 提供了“两位数年份截止”配置选项,可通过此选项更改 SQL Server
使 使用的截止年份,从而对日期进行一致处理。建议您指定四位数年份。
6. 6、 仅支持从字符数据转换为 datetime 或 smalldatetime。仅表示日期或时间成分的字符数据转换为 datetime 或 smalldatetime 数据类型时,未指定的时间
成分设置为 00:00:00.000,未指定的日期成分设置为 1900-01-01。
7. 7、 使用可选的时间区域指示符 (Z) 更便于将具有时区信息的 XML datetime 值映射到没有时区的 SQL Server datetime 值。Z 是时区 UTC-0 的指示符。
其他时区则以 + 或 - 方向的 HH:MM 偏移量来指示。例如:2006-12-12T23:45:12-08:00。
3、STR()函数
这是一个将数字转换为字符串的快捷函数。这个函数有3个参数:数值、总长度和小数位数。如果数字的整数位数和小数位数(要加上小数点占用的一个字符)
的总和小于总长度,对结果中左边的字符将用空格填充。
1、STR()的简单使用
Sql server函数的学习1(系统变量、错误函数、转换函数)的更多相关文章
- SQL Server中的20个系统变量
1.@@CONNECTIONS返回自上次启动 Microsoft SQL Server以来连接或试图连接的次数.示例:下面的示例显示了到当前日期和时间为止试图登录的次数.SELECT GETDATE( ...
- SQL Server中的临时表和表变量
SQL Server中的临时表和表变量 作者:DrillChina出处:blog2008-07-08 10:05 在SQL Server的性能调优中,有一个不可比拟的问题:那就是如何在一段需要长时间的 ...
- 【转】SQL Server、Oracle、MySQL和Vertica数据库常用函数对比
SQL Server.Oracle.MySQL和Vertica数据库常用函数对比 Vertica数据库是HP公司新收购的用于BI方面的数据库. 1. 绝对值 S:select abs(-1) valu ...
- [转] SQL SERVER拼接字符串(字符串中有变量)
本文转自:http://blog.csdn.net/sikaiyuan2008/article/details/7848926 SQL SERVER拼接字符串(字符串中有变量)对我来说是一个难点,总是 ...
- mysql与sql server参照对比学习mysql
mysql与sql server参照对比学习mysql 关键词:mysql语法.mysql基础 转自桦仔系列:http://www.cnblogs.com/lyhabc/p/3691555.html ...
- SQL Server数据库入门学习总结
数据库基本是由表,关系,操作组成:对于初学者,首先要学的是: 1.数据库是如何存储数据的 —— 表.约束.触发器 2.数据库是如何操作数据的 —— insert,update,delete.T-sql ...
- SQL Server中的临时表和表变量 Declare @Tablename Table
在SQL Server的性能调优中,有一个不可比面的问题:那就是如何在一段需要长时间的代码或被频繁调用的代码中处理临时数据集?表变量和临时表是两种选择.记得在给一家国内首屈一指的海运公司作SQL Se ...
- sql server中的临时表、表变量和公用表表达式
在编写T-SQL语句的时候,SQL Server提供了三种方法临时存储某些结果集,分别是临时表.表变量和公用表表达式. 临时表 临时表需要在临时数据库TempDB中通过I/O操作来创建表结构,一旦用户 ...
- SQL Server 2008 R2——学习/练习/错误/总结/搜集
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
- 转载---SQL Server XML基础学习之<5>--XQuery(query)
本章写一些SQL Server XML的一些XQuery基础语法,主要讲的query查询语法 T-SQL 支持用于查询 XML 数据类型的 XQuery 语言的子集. XQuery 基于现有的 XPa ...
随机推荐
- C#之委托与事件
委托与事件 废话一堆:网上关于委托.事件的文章有很多,一千个哈姆雷特就有一千个莎士比亚,以下内容均是本人个人见解. 1. 委托 1.1 委托的使用 这一小章来学习一下怎么简单的使用委托,了解一些基本的 ...
- nginx小记
上一次折腾nginx还是两年前的事情了.好多配置都忘记了. 捣腾了下阿里云,部署了一下,遇到几个小问题,温故并记录一下吧 :) 重新设置 nginx遇到问题:nginx: [error] invali ...
- Nodejs初阶之express
PS: 2014/09/24 更新<Express 4.X 启航指南>,欢迎阅读和评论:) 老规矩,开头部分都是些自娱自乐的随想,想到哪写到哪... 到今天俺已经在俺厂工作俩年零几天了 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (13) -----第三章 查询之使用Entity SQL
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-4使用实体SQL查询模型 问题 你想通过执行Entity SQL语句来查询你的实 ...
- web项目ajax技术一些总结
WEB项目中,最主要的就是前后端间的联络.有时需要不进行页面跳转的前提下请求后端方法(action),就需要用到ajax. 在这个博客中,我用到的都是原生的js的ajax,不是很喜欢用jquery的a ...
- SSIS 参数的值
一,SSIS Parameter Value 的type 一个Parameter的Value共有三种类型,分别是Design Value,Server Value,Execution Value. D ...
- 如何变相的绕过QQ邮箱订阅的繁琐核审
先看看正常流程:http://open.mail.qq.com/ 点击“接入订阅”==>申请接入==>登录一下 选择接入完全免费 大概流程就是这样: 下面我们说说快速接入的方法: 1.登录 ...
- JAVA的静态变量、静态方法、静态类
静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象 ...
- Android,App 常用图标尺寸规范
程序启动图标(Logo): 小屏ldpi() 36 x 36 px. 中屏mdpi(160dpi):48*48px 大屏hdpi(240dpi):72*72px 特大屏xhdpi(320dpi):96 ...
- Android随笔之——PackageManager详解
参考:http://www.cnblogs.com/xingfuzzhd/p/3374504.html 今天要讲的是PackageManager.Android系统为我们提供了很多服务管理的类,包括A ...