Sql server日期格式的字符串如何转换成日期类型?

V胡桃夹子 2012-03-18 03:11:08
我现在需要将一个日期格式的字符串转换成日期类型,如何地转换?
如:'2012-03-18'
'20120318'
'201203181513'
'2012-03-18 15:13'
...全文
85661 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xieli199100 2014-06-09
  • 打赏
  • 举报
回复
select CAST(date1 as date) from dbo.date11
xieli199100 2014-06-09
  • 打赏
  • 举报
回复
select CAST(date1 as date) from dbo.date11
lanhu2488 2013-03-30
  • 打赏
  • 举报
回复
col col_time -------------------- ------------------------------------------------------ 2012-03-18 2012-03-18 00:00:00.00020120318 2012-03-18 00:00:00.000201203181513 2012-03-18 15:13:00.0002012-03-18 15:13 2012-03-18 15:13:00.000 需要把col_time varchar类型 更改为datatime 类型怎么操作
candiceChan7 2012-03-20
  • 打赏
  • 举报
回复
可以用between and 啊。我这么做过、lz可以试试、
dawugui 2012-03-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 wangxin_wangxin 的回复:]
我现在需要将一个日期格式的字符串转换成日期类型,如何地转换?
如:'2012-03-18'
'20120318'
'201203181513'
'2012-03-18 15:13'
[/Quote]你这样的数据貌似不规则.需要进行一些转换.以下仅仅是针对你目前的数据进行的转换.不排除你还存在其他什么格式的数据.
create table tb(col varchar(20))
insert into tb values('2012-03-18')
insert into tb values('20120318')
insert into tb values('201203181513')
insert into tb values('2012-03-18 15:13')
go

select col,col_time = (case when len(col) > 8 and charindex('-',col) = 0
then cast(substring(col,1,4) + '-' + substring(col,5,2) + '-' + substring(col,7,2) + ' ' + substring(col,9,2) + ':' + substring(col,11,2) as datetime)
else cast(col as datetime)
end)
from tb

drop table tb

/*
col col_time
-------------------- ------------------------------------------------------
2012-03-18 2012-03-18 00:00:00.000
20120318 2012-03-18 00:00:00.000
201203181513 2012-03-18 15:13:00.000
2012-03-18 15:13 2012-03-18 15:13:00.000

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

叶子 2012-03-18
  • 打赏
  • 举报
回复
cast(col as datetime)
V胡桃夹子 2012-03-18
  • 打赏
  • 举报
回复
定义和用法
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
V胡桃夹子 2012-03-18
  • 打赏
  • 举报
回复
and (CONVERT(date, oh.CREATE_DATE, 23)>=CONVERT(date, '201203017', 23)
and CONVERT(date, oh.CREATE_DATE, 23)<=CONVERT(date, '201203017', 23))

用convert报错,


消息 241,级别 16,状态 1,第 1 行
从字符串转换日期和/或时间时,转换失败。

EnForGrass 2012-03-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chinajiyong 的回复:]

Convert函数
[/Quote]
具体用法
http://www.w3school.com.cn/sql/func_convert.asp
EnForGrass 2012-03-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chinajiyong 的回复:]

Convert函数
[/Quote]
具体用法
http://www.w3school.com.cn/sql/func_convert.asp
EnForGrass 2012-03-18
  • 打赏
  • 举报
回复
Convert函数

34,588

社区成员

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

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