向数据库表中插入datetime类型数据 怎么只保留时分秒,去掉1990-1-1 insert into 教室(编号,容纳人数,开放时间,关闭时间) values('E301',200,'6:00:00','21:30:00')插入后时间显示是1990-1-1 6:00:00 怎么把1990-1-1去掉,只保留6:00:00 谢谢!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sql datetime类型就是这样的,1.你可以用varchar类型2.不用管它,当select 出来的时候用convert 哪个版本的数据库?如果是SQL2008,可以用TIME类型。如果是其他版本,最好用NVARCHAR吧。 --> 测试数据:[TB]if object_id('[TB]') is not nulldrop table [TB]---->建表create table [TB]([编号] varchar(4),[容纳人数] int,[开放时间] datetime,[关闭时间] datetime)insert [TB]select 'E301',200,'6:00:00','21:30:00'--> 查询结果SELECT *,stuff(convert(char(20),开放时间,120),1,10,'') as 开时 ,stuff(convert(char(20),关闭时间,120),1,10,'') as 关时 FROM [TB]--> 删除表格--DROP TABLE [TB] select CONVERT(varchar,GETDATE(),108) select @@VERSION/*Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86) Mar 29 2009 10:27:29 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)*/ declare @t table(编号 varchar(10),容纳人数 int,开放时间 time,关闭时间 time) insert @t select 'E301',200,'6:00:00','21:30:00' select * from @t/*编号 容纳人数 开放时间 关闭时间---------- ----------- ---------------- ----------------E301 200 06:00:00.0000000 21:30:00.0000000*/ 正解是选择合适的类型:time 12:35:29.1234567 date 2007-05-08 smalldatetime 2007-05-08 12:35:00 datetime 2007-05-08 12:35:29.123 datetime2 2007-05-08 12:35:29.1234567 datetimeoffset 2007-05-08 12:35:29.1234567 +12:15 这是最简便的方式。你可以在联机丛书中查一下关键字convert,很有意思的 select convert(varchar(20),开放时间,108) 开放时间,convert(varchar(20),关闭时间,108) 关闭时间 from 教室 关于时间形式的转化问题 除了ntext还是什么别的字段类型能够存储长文本吗? 在ms sql2000中建一个sequence的语句是什么? 高分相送!!!!!!!!!如何写这样的查询语句? 请教一个平均分配的算法 打开企业管理器, 新增一个数据库时出现下面的错误。 我也是第一次见。 SQL Server的例子教程sample怎么装上去的?? 程序员大本营3.0_数据库有看过的吗?说说看如何~ UP有分!!! 服务起不了 一个关于存储过程的问题(分数倾囊相送) 数据行列的转换..急。。。 存储过程 如何使用这种格式?
1.你可以用varchar类型
2.不用管它,当select 出来的时候用convert
如果是SQL2008,可以用TIME类型。
如果是其他版本,最好用NVARCHAR吧。
if object_id('[TB]') is not null
drop table [TB]---->建表
create table [TB]([编号] varchar(4),[容纳人数] int,[开放时间] datetime,[关闭时间] datetime)
insert [TB]
select 'E301',200,'6:00:00','21:30:00'--> 查询结果
SELECT *,stuff(convert(char(20),开放时间,120),1,10,'') as 开时 ,
stuff(convert(char(20),关闭时间,120),1,10,'') as 关时 FROM [TB]
--> 删除表格
--DROP TABLE [TB]
/*
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
Mar 29 2009 10:27:29
Copyright (c) 1988-2008 Microsoft Corporation
Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)
*/ declare @t table(编号 varchar(10),容纳人数 int,开放时间 time,关闭时间 time)
insert @t select 'E301',200,'6:00:00','21:30:00'
select * from @t
/*
编号 容纳人数 开放时间 关闭时间
---------- ----------- ---------------- ----------------
E301 200 06:00:00.0000000 21:30:00.0000000
*/
time 12:35:29.1234567
date 2007-05-08
smalldatetime 2007-05-08 12:35:00
datetime 2007-05-08 12:35:29.123
datetime2 2007-05-08 12:35:29.1234567
datetimeoffset 2007-05-08 12:35:29.1234567 +12:15
你可以在联机丛书中查一下关键字convert,很有意思的
select convert(varchar(20),开放时间,108) 开放时间,convert(varchar(20),关闭时间,108) 关闭时间 from 教室