mssql中的日期转换,求助

solidvacuum 2010-04-22 11:24:10
想把日期 2004-09-12 11:06:08.177 转化成 2004.09.12 这种形式,该怎么做!
为什么select convert(VARCHAR(10),'2006-07-28',102) 这种操作没有变化呢~?
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2010-04-22
  • 打赏
  • 举报
回复
select convert(varchar(10),cast('2004-09-12 11:06:08.177' as datetime),102)

/*

----------
2004.09.12

(所影响的行数为 1 行)
*/

select replace(convert(varchar(10),cast('2004-09-12 11:06:08.177' as datetime),120),'-','.')

/*

----------
2004.09.12

(所影响的行数为 1 行)
*/
htl258_Tony 2010-04-22
  • 打赏
  • 举报
回复
想把日期 2004-09-12 11:06:08.177 转化成 2004.09.12 这种形式,该怎么做!

如果字段是datetime型,直接:
select couvert(VARCHAR(10),datetimecol,102) from tb

如果是字符型:
select couvert(VARCHAR(10),cast(datetimecol as datetime),102) from tb

当然也可以用字符串拆分函数实现
--小F-- 2010-04-22
  • 打赏
  • 举报
回复
--日期转换参数,值得收藏
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

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
永生天地 2010-04-22
  • 打赏
  • 举报
回复
可以直接把-替换成.
dawugui 2010-04-22
  • 打赏
  • 举报
回复
select convert(varchar(10),cast('2004-09-12 11:06:08.177' as datetime),102)

/*

----------
2004.09.12

(所影响的行数为 1 行)
*/
htl258_Tony 2010-04-22
  • 打赏
  • 举报
回复
select convert(VARCHAR(10),cast('2006-07-28' as datetime),102)
/*

----------
2006.07.28

(1 行受影响)

*/

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧