
首先,你字段就不应该设置成datetime类型
字段类型设置成varchar(14)才可以
给你举个例子
建表,里边带默认值,也就是你描述的那样的默认值
create table test(id int,
time varchar(14) default replace(replace(replace(convert(varchar,getdate(),120),'-',''),' ',''),':',''))
插入数据
insert into test (id) values (1)检查结果
--首先确保你的数据库是sql server ,然后字段name为序号递增1,2,3 --创建表
create table baidu_1 (
name int,
date1 datetime,
date2 datetime,
qty numeric(22,8)
)
--插入测试数据
insert into baidu_1
select 1,'2013-01-01','2013-01-10',5 union all
select 2,'2013-01-01','2013-01-3',6 union all
select 3,'2013-02-01','2013-02-3',7
/
--日期函数测试
select datediff(dd,'2013-02-01','2013-02-1')
select dateadd(dd,2,'2013-02-1')
/
--//////////////计算正式开始/////////////////////////////////////
--创建临时表
create table #temp (
name int,
date datetime,
qty numeric(22,8)
)
declare @i int --第一层循环控制
declare @count int --表的总行数
declare @date1 datetime --保存日期1
declare @date2 datetime--保存日期2
declare @datediff int --日期间隔天数
declare @date_b int --第二层循环控制
declare @qty numeric(22,8)--保存数量
set @i=1
set @count=(select count() from baidu_1)
while @i<=@count
begin
select @date1=date1,@date2=date2,@qty=qty from baidu_1 where name=@i
set @datediff=datediff(dd,@date1,@date2)
set @date_b=0
while @date_b<=@datediff
begin
insert into #temp
select @i,dateadd(dd,@date_b,@date1),@qty
set @date_b=@date_b+1
end
set @i=@i+1
end
--最后返回结果
select from #temp
SQL服务器:
Select*fromtablewhere'2008-7-1'和'2008-12-31'
访问:
从表中选择发生日期>#2008-7-1#和发生日期<#2008-12-31#
就是这样:注意,SQLserver中的日期和访问有一点不同。
扩展资料:
SQL查询日期语句
Select*fromShopOrderwheredatediff(week,ordTime,getdate()-1)=0//查询第一年的日期
Select*fromShopOrder,其中datediff(day,ordTime,getdate()-1)=0//查询当天的所有数据
SELECT FROM A where datediff(d,datetime,getdate()) <=30 //前30天
SELECT FROM A WHERE DATEDIFF(m, shijian, GETDATE()) <=1 //上个月
搜索当天记录的其他方法:
SELECT*
FROMj_GradeShop
其中(GAddTimeBETWEENCONVERT(datetime,LEFT(GETDATE(),10)+'00:00:00.000'))
并转换(datetime,LEFT(GETDATE(),10)+'00:00:00.00.000')+1)
由GAddTime指定的订单
使用Oracle 函数extract(fmt from d)获取日期中的特定部分:
select count() from table where
SQL> select from table where createdate
between to_date('2010-9-1','yyyy-MM-dd') and to_date('2010-10-1','yyyy-MM-dd')
and EXTRACT(hour from createdate) between '8:00' and '9:00';
以上就是关于SQL怎么取当前时间是YYYYMMDDHHMMSS格式的全部的内容,包括:SQL怎么取当前时间是YYYYMMDDHHMMSS格式的、关于SQL循环输出日期的查询、SQL语句查询特定时间段的数据怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)