请教一个MSSQL格式化日期字段问题 如何将内容为“2009-07-31 08:06:04.640”的时间字段在保留时间类型的前提下转化为“2009-07-31”的日期格式? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select convert(varchar(10),'2009-07-31 08:06:04.640',120)/*----------2009-07-31(1 個資料列受到影響)*/ select convert(varchar(10),'2009-07-31 08:06:04.640',120) select convert(varchar(10),'2009-07-31 08:06:04.640',120) select convert(varchar(10),'2009-07-31 08:06:04.640',20) ---------- 2009-07-31(所影响的行数为 1 行) --日期转换参数,值得收藏select CONVERT(varchar, getdate(), 120 )2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')20040912110608select CONVERT(varchar(12) , getdate(), 111 )2004/09/12select CONVERT(varchar(12) , getdate(), 112 )20040912select CONVERT(varchar(12) , getdate(), 102 )2004.09.12其它我不常用的日期格式转换方法:select CONVERT(varchar(12) , getdate(), 101 )09/12/2004select CONVERT(varchar(12) , getdate(), 103 )12/09/2004select CONVERT(varchar(12) , getdate(), 104 )12.09.2004select CONVERT(varchar(12) , getdate(), 105 )12-09-2004select CONVERT(varchar(12) , getdate(), 106 )12 09 2004select CONVERT(varchar(12) , getdate(), 107 )09 12, 2004select CONVERT(varchar(12) , getdate(), 108 )11:06:08select CONVERT(varchar(12) , getdate(), 109 )09 12 2004 1select CONVERT(varchar(12) , getdate(), 110 )09-12-2004select CONVERT(varchar(12) , getdate(), 113 )12 09 2004 1select CONVERT(varchar(12) , getdate(), 114 )11:06:08.177 楼上的都变成varchar类型了。。我要保留datetime类型的,因为后面绑定控件后要做时间段排列查询 select CONVERT(DATETIME,convert(varchar(10),'2009-07-31 08:06:04.640',20)) ------------------------------------------------------ 2009-07-31 00:00:00.000(所影响的行数为 1 行) 05 也有。datetime 类型,在于 longtime 和 shorttime 之分。 我是用2005的,确实也只有一个DATETIME的类型。。而且不管我有没有在这个字段中输入时间内容,该字段都会自动将空白的时间位置的数据给填充了。将整个字段全部显示的话时间的内容又会显的比较冗长、而且比较难看。。 我就是用05,如何设置shorttime 呢? O.O 不是,是mssql2005.。这点常识我还是有的。 恩,没错,那家伙什么都在vs下做的,BS一下他不过,他的是VS2010...BATA2... create table #( tian date)insert # values ('2009-07-31 08:06:04.640')select * from #/*tian----------2009-07-31*/2008有2005测试版的时候有 后来在发布出来后好像没独立出来哦 sorry,说错了,2008下确实是可行的declare @tb table(ddate date);insert into @tbselect '2009-11-03 01:02:03'select * from @tbddate----------2009-11-03(1 行処理されました) --日期转换参数,值得收藏select CONVERT(varchar, getdate(), 120 )2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')20040912110608select CONVERT(varchar(12) , getdate(), 111 )2004/09/12select CONVERT(varchar(12) , getdate(), 112 )20040912select CONVERT(varchar(12) , getdate(), 102 )2004.09.12其它我不常用的日期格式转换方法:select CONVERT(varchar(12) , getdate(), 101 )09/12/2004select CONVERT(varchar(12) , getdate(), 103 )12/09/2004select CONVERT(varchar(12) , getdate(), 104 )12.09.2004select CONVERT(varchar(12) , getdate(), 105 )12-09-2004select CONVERT(varchar(12) , getdate(), 106 )12 09 2004select CONVERT(varchar(12) , getdate(), 107 )09 12, 2004select CONVERT(varchar(12) , getdate(), 108 )11:06:08select CONVERT(varchar(12) , getdate(), 109 )09 12 2004 1select CONVERT(varchar(12) , getdate(), 110 )09-12-2004select CONVERT(varchar(12) , getdate(), 113 )12 09 2004 1select CONVERT(varchar(12) , getdate(), 114 )11:06:08.177你可以先在查询分析器中先测试格式化后的数据,然后再进行函数的使用皆可! 1、方法一select convert(left("2009-07-31 08:06:04.640",10),getdate(),120)2、方法二select replace(convert("2009-07-31 08:06:04.640",getdate(),120),'08:06:04.640','') SQL 2005 不能输入中文的问题 带有游标的存储过程的问题 数据库中时间相差几天 两个表关联汇总,行变列的问题 如何查看sqlserver服务器当前有多少个活动连接呀?也就是说占用服务器资源的连接.我想测试我的客户端程序是否及时关闭了连接. 这种表的关键字字段一般如何设计? 如果由你来设计数据库的Rollback,你的思路和方案? 请大家提出本期的讨论专题。 求两条sql语句 数字型变量初始值问题! 把字段名用变量为何不能插入?如 请大家帮忙看看SQL语法出了什么问题?
/*
----------
2009-07-31(1 個資料列受到影響)
*/
select convert(varchar(10),'2009-07-31 08:06:04.640',120)
----------
2009-07-31(所影响的行数为 1 行)
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12select CONVERT(varchar(12) , getdate(), 112 )
20040912select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12其它我不常用的日期格式转换方法:select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004select CONVERT(varchar(12) , getdate(), 108 )
11:06:08select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177
我要保留datetime类型的,因为后面绑定控件后要做时间段排列查询
------------------------------------------------------
2009-07-31 00:00:00.000(所影响的行数为 1 行)
05 也有。datetime 类型,在于 longtime 和 shorttime 之分。
我就是用05,如何设置shorttime 呢?
O.O 不是,是mssql2005.。这点常识我还是有的。
不过,他的是VS2010...BATA2...
insert # values ('2009-07-31 08:06:04.640')
select * from #
/*
tian
----------
2009-07-31*/
2008有
2005测试版的时候有 后来在发布出来后好像没独立出来哦
declare @tb table(ddate date);insert into @tb
select '2009-11-03 01:02:03'select * from @tbddate
----------
2009-11-03(1 行処理されました)
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12select CONVERT(varchar(12) , getdate(), 112 )
20040912select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12其它我不常用的日期格式转换方法:select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004select CONVERT(varchar(12) , getdate(), 108 )
11:06:08select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177
你可以先在查询分析器中先测试格式化后的数据,然后再进行函数的使用皆可!
select convert(left("2009-07-31 08:06:04.640",10),getdate(),120)
2、方法二
select replace(convert("2009-07-31 08:06:04.640",getdate(),120),'08:06:04.640','')