sqlserver 中的datetime 值查询方法

2018/10/17 11:38:32 | 阅3522 来源:好空间网络 [打印] [关闭]
 

数据库字段把保存为datatime类型后,取出的时候 想只取出部分,比如只取出年月日 或者只取出时间,可以用

select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08

select CONVERT(varchar(10), datatime1, 120 )2004-09-12

select CONVERT(varchar(4), datatime1, 120 )+'年'+substring(CONVERT(varchar(10), datatime1, 120 ),6,2)+'月'+substring(CONVERT(varchar(10), datatime1, 120 ),9,2)+'日' from dxck   输入格式如:2004年09月12日

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),/'-/',/'/'),/' /',/'/'),/':/',/'/') 20040912110608

select CONVERT(varchar(12) , getdate(), 111 ) 2004/09/12

select CONVERT(varchar(12) , getdate(), 112 ) 20040912

select CONVERT(varchar(12) , getdate(), 102 ) 2004.09.12

select CONVERT(varchar(12) , getdate(), 101 ) 09/12/2004

select CONVERT(varchar(12) , getdate(), 103 ) 12/09/2004

select CONVERT(varchar(12) , getdate(), 104 ) 12.09.2004

select CONVERT(varchar(12) , getdate(), 105 ) 12-09-2004

select CONVERT(varchar(12) , getdate(), 106 ) 12 09 2004

select CONVERT(varchar(12) , getdate(), 107 ) 09 12, 2004

select CONVERT(varchar(12) , getdate(), 108 ) 11:06:08

select CONVERT(varchar(12) , getdate(), 109 ) 09 12 2004 1

select CONVERT(varchar(12) , getdate(), 110 ) 09-12-2004

select CONVERT(varchar(12) , getdate(), 113 ) 12 09 2004 1

select CONVERT(varchar(12) , getdate(), 114 ) 11:06:08.177


这里的 getdate() 为你的datetime字段 ,网络上都说用 convert 但是没人告诉你getdate()要改为字段名,今天用到了,没办法自己去翻阅convert函数试用方法才知道是这样用的



在做Sql Server开发的时候有时需要获取表中今天、昨天、本周、上周、本月、上月等数据,这时候就需要使用DATEDIFF()函数及GetDate()函数了

DATEDIFF ( datepart , startdate , enddate )
释义:计算时间差
datepare值:year | quarter | month | week | day | hour | minute | second | millisecond
startdate:开始日期
enddate :结束日期
GetDate()
释义:获取当前的系统日期

下面例子中表名为tablename,条件字段名为inputdate
查询今天

SELECT * FROM tablename where DATEDIFF(day,inputdate,GETDATE())=0
查询昨天

SELECT * FROM tablename where DATEDIFF(day,inputdate,GETDATE())=1
查询本周

SELECT * FROM tablename where datediff(week,inputdate,getdate())=0
查询上周

SELECT * FROM tablename where datediff(week,inputdate,getdate())=1
查询本月

SELECT * FROM tablename where DATEDIFF(month,inputdate,GETDATE())=0
查询上月

SELECT * FROM tablename where DATEDIFF(month,inputdate,GETDATE())=1

查询本年

select * from Keywords  where datediff(year, Addtime,getdate())=0


经营许可证ICP:皖B2-20100052 公司邮箱:zcdnsz@jspkongjian.net
Copyright © 2004-2015, 安徽好空间网络科技有限公司 版权所有 , 本站素材部分来源于网络,如有侵权请告知删除。