日期函数
定义和用法
GETDATE() 函数从 SQL Server 返回当前的时间和日期。
语法
GETDATE()实例
例子 1
使用下面的 SELECT 语句:
SELECT GETDATE() AS CurrentDateTime结果:
CurrentDateTime
2008-12-29 16:25:46.635
注释:上面的时间部分精确到毫秒。
例子 2
下面的 SQL 创建带有日期时间列 (OrderDate) 的 "Orders" 表:
CREATE TABLE Orders
(
OrderId int NOT NULL PRIMARY KEY,
ProductName varchar(50) NOT NULL,
OrderDate datetime NOT NULL DEFAULT GETDATE()
)
请注意,OrderDate 把 GETDATE() 规定为默认值。结果是,当您在表中插入新行时,当前日期和时间自动插入列中。
现在,我们希望在 "Orders" 表中插入一条记录:
INSERT INTO Orders (ProductName) VALUES ('Computer')
GETDATE():取得当前日期时间
DATEADD(datepart,number,date),计算增加后的日期
例:DATEADD(DAY,3,date)计算日期date后3天的日期
DATEADD(MONTH,-8,date)计算日期date前8个月的日期
DATEDIFF(datepart,startdate,enddate):计算两个日期之间的差额。
DATEPART(datepart,date):返回一个日期的特定部分
类型转换函数
CAST(expression AS data_type)
CONVERT(data_type,expression)
空值处理函数 如果查询结果是空,则为第二个参数。如果不为空,则是第一个参数
select isnull(FName,'佚名') as 姓名from T_Employee
CASE函数用法
CASE 搜索函数计算一组布尔表达式以确定结果。
两种格式都支持可选的 ELSE 参数。
语法
简单 CASE 函数:
CASE input_expression
WHEN when_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
END
CASE 搜索函数:
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
END
参数
input_expression
是使用简单 CASE 格式时所计算的表达式。Input_expression 是任何有效的 Microsoft® SQL Server™ 表达式。
WHEN when_expression
使用简单 CASE 格式时 input_expression 所比较的简单表达式。When_expression 是任意有效的 SQL Server 表达式。Input_expression 和每个 when_expression 的数据类型必须相同,或者是隐性转换。
n
占位符,表明可以使用多个 WHEN when_expression THEN result_expression 子句或 WHEN Boolean_expression THEN result_expression 子句。
THEN result_expression
单值判断,相当于switch case
CASE expression
WHEN value1 THEN returnvalue1
WHEN value2 THEN returnvalue2
WHEN value3 THEN returnvalue3
ELSE defaultreturnvalue
END