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

日期函数

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

 

时间: 2024-08-01 18:11:38

sql 日期函数getdate()和case语法的相关文章

sql 查询本年、本月、本日记录的语句,附SQL日期函数_MsSql

查询本日记录 SELECT * FROM messages WHERE CONVERT(Nvarchar, CreateDate, 111) = CONVERT(Nvarchar, GETDATE(), 111)   ORDER BY CreateDate DESC SELECT * FROM 表 WHERE datediff(day,列名,getdate())=0   查询本年 SELECT count(*) FROM messages WHERE datediff(year,CreateDa

sql 查询本年、本月、本日记录的语句,附SQL日期函数

查询本日记录 SELECT * FROM messages WHERE CONVERT(Nvarchar, CreateDate, 111) = CONVERT(Nvarchar, GETDATE(), 111)   ORDER BY CreateDate DESC SELECT * FROM 表 WHERE datediff(day,列名,getdate())=0 查询本年 SELECT count(*) FROM messages WHERE datediff(year,CreateDate

SQL Server高级内容之case语法函数概述及使用_MsSql

1.Case函数的用法 (1)使用类似:switch-case与if-else if. (2)语法: case [字段] when 表达式 then 显示数据 when 表达式 then 显示数据 else 显示数据 end (3)百分制转换素质教育 1)如图:我们要将显示的数据转换成ABCDE,规则是90分以上显示A,80分以上显示B,以此类推.  2)执行的SQL语句是: 复制代码 代码如下: Select ID,TestBase, Case When testBase>=90 then '

SQL Server高级内容之case语法函数概述及使用

1.Case函数的用法 (1)使用类似:switch-case与if-else if. (2)语法: case [字段] when 表达式 then 显示数据 when 表达式 then 显示数据 else 显示数据 end (3)百分制转换素质教育 1)如图:我们要将显示的数据转换成ABCDE,规则是90分以上显示A,80分以上显示B,以此类推.  2)执行的SQL语句是:复制代码 代码如下: Select ID,TestBase, Case When testBase>=90 then 'A

sql 时间日期函数的总结

①getdate():返回当前系统日期.时间  代码如下 复制代码 select 当前系统时间=GETDATE()    代码如下 复制代码 ②dateadd(interval,number,date):返回指定日期加一段时间后的新datetime. select 倒退一天=DATEADD(day,-1,getdate()), 前进一小时=DATEADD(hour,1,getdate())   ③datediff(interval,date1,date2): 返回跨两个指定时间的差值.  代码如

使用sql server日期函数获取指定格式的当前日期

使用sqlserver日期函数中的getdate()可以获取当现的日期,下面就将为您介绍这种使用sqlserver日期函数获取当前日期的方法. 但是如果我们只需要得到当前的日期,不需要时间部分,或者不需要日期只要时间部分,再或者我要只要字段中的日期以某种形式显示,应该怎么操作呢? 可以使用convert(varchar(10),getdate(),120)这样的方法来实现,其中varchar(10)定义的是你要的字段的长度,当然长度的不同返回的也会不的,如果我们只要日期部分,设成10正好为日期长

Sql Server函数全解<四>日期和时间函数

原文:Sql Server函数全解<四>日期和时间函数   日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分.相同的,以time类型值为参数的函数,可以接受datetime类型的参数,但会忽略日期部分. 1.获取系统当前日期的函数getDate();  getDate()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime.[例]sel

sql时间日期函数使用说明

1.dateadd  加日期函数 select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000 当然也可以加月份     select dateadd(month,2,'2004-10-15') 2.datediff 返回两个日期之间日期  select datediff(day,'2004-09-01','2004-09-18')   --返回:17  和dateadd  一样,day也可以换成别的 3.datepart 返回

常用的SQL日期时间函数

一.Sql Server中的日期与时间函数 1.  当前系统日期.时间     select getdate()  2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值    例如:向日期加上2天    select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数.    select datediff(day,'2004-09-0