sql 日期函数getdate()和case语法

作者:袖梨 2022-06-29


日期函数

定义和用法
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

 

相关文章

精彩推荐