一些常用的系统函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

附录B 一些常用的系统函数

SQL Server 2008提供了许多内置函数,使用这些函数可以方便快捷地执行某些操作。这些函数通常用在查询语句中,一般来说,允许使用变量、字段或表达式的地方都可以使用这些内置函数。本附录将介绍一些比较常用的日期函数、字符串函数和类型转换函数。

B.1日期函数

日期和时间函数对日期和时间类型的数据执行操作,并返回一个字符串、数字值或日期和时间值。

1. GETDATE

作用:按 datetime 值的SQL Server 标准内部格式返回当前的系统日期和时间。

返回类型:datetime。

说明:日期函数可用在 SELECT 语句的选择列表或用在查询语句的 WHERE 子句中。

例1. 用 GETDATE 返回系统当前的日期和时间。

SELECT GETDATE()

例2. 在CREATE TABLE语句中使用 GETDATE函数作为列的默认值,这样可简化用户对业务发生日期和时间的输入。此示例创建Employees 表,用 GETDATE函数的返回值作为员工参加工作的默认报到时间。

CREATE TABLE Employees(

eid char(11) NOT NULL,

ename char(10) NOT NULL,

hire_date datetime DEFAULT GETDATE()

)

2.DATEADD

作用:对给定的日期加上一段时间,返回新的 datetime 值。

语法: DATEADD( datepart, number, date )

其中:

Datepart:是与 number 相加的date部分。表B.1列出了有效的 datepart 参数。

表B.1 SQL Server识别的日期部分和缩写形式

●Number:是一个整数或表达式,是与 date 的 datepart 相加的值。

●date:是返回datetime或smalldatetime值或日期格式字符串的表达式。

返回类型:返回datetime,但如果date参数是smalldatetime,则返回smalldatetime。

例3.计算当前日期加上100天后的日期。

SELECT DATEADD(DAY,100,GETDATE())

3.DATEDIFF

作用:返回两个指定日期之间所差的日期。

语法:DATEDIFF( datepart, startdate, enddate )

其中datepart的取值如表B.1所示。

返回类型:int

说明:返回结果是用结束日期(enddate)减去开始日期(startdate)。如果开始日期比结束日期晚,则返回负值。

例4.计算2015年5月1日到2015年10月1日之间的天数。

SELECT DATEDIFF( DAY,'2015/5/1', '2015/10/1' )

4.DATENAME

作用:返回代表指定日期的指定日期部分的字符串描述。

语法:DATENAME( datepart, date )

其中datepart的取值如表B.1所示。

返回类型:nvarchar

说明:SQL Server 自动在字符和datetime值间按需要进行转换。

例5.得到系统当前日期中得到月份。

SELECT DATENAME (month, GETDATE()) AS 'Current month'

5.DATEPART

作用:返回代表给定日期的指定日期部分的整数。

语法:DATEPART( datepart, date )

datepart的取值如表B.1所示。

返回类型:int

例6. 得到系统当前日期中得到年份。

SELECT DATEPART (year, GETDATE()) AS 'Current year'

6.DAY

作用:返回指定日期的日部分的整数。

语法:DAY( date )

返回类型:int

说明:此函数等价于DATEPART( day, date )。

例10.返回当前日期的日部分。

SELECT DAY(getdate()) AS 'Day Number'

7.MONTH

作用:返回指定日期的月份的整数。

语法:MONTH ( date )

返回类型:int

说明:此函数等价于 DATEPART( month, date )。

8.YEAR

作用:返回指定日期中的年份的整数。

语法:YEAR ( date )

返回类型:int

说明:此函数等价于 DATEPART( year, date )。

B.2 字符串函数

字符串函数用于对字符数据进行操作,返回字符串或数字值。

1.LEFT

作用:返回从字符串左边开始指定个数的字符串。

语法:LEFT ( character_expression , integer_expression )

其中:

●character_expression:字符串数据,可以是常量、变量或列名。

●integer_expression:正整数,指定character_expression 将返回的字符个

数。如果integer_expression为负,则将返回错误。

返回类型:

●当 character_expression 为非Unicode字符类型时,返回varchar。

●当 character_expression 为Unicode 字符类型时,返回nvarchar。

例1.返回字符串“abcdefg”最左边的 2 个字符。

SELECT LEFT('abcdefg', 2)

执行结果为:ab

例2.对Student表,查询所有不同的姓氏(假设没有复姓)。

SELECT DISTINCT LEFT(Sname,1) AS 姓氏 FROM Student

执行结果如图B-1所示。

图B-1 例2的执行结果2.RIGHT

作用:返回字符串中从右边开始指定个数的字符串。

语法:RIGHT ( character_expression, integer_expression ) 各参数含义及返回类型同LEFT。

例3.返回字符串“abcdefg”最右边的 2 个字符。

SELECT RIGHT ('abcdefg', 2)

执行结果为:fg

3.LEN

相关文档
最新文档