怎么将字符串‘20150302123426000’转换为日期????

tololo 2014-11-17 08:58:28
如:2014-11-17 08:50:59.803这样的格式
...全文
158 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
missMeyo 2014-11-17
  • 打赏
  • 举报
回复
引用 11 楼 u013331731 的回复:
引用 10 楼 missMeyo 的回复:
第一种写法是对的,select convert(datetime,'212212250409',120) 转换错误。
就没有更简单点的转换吗?昨天写了个出来了,今天又忘了
我也不懂哈。
tololo 2014-11-17
  • 打赏
  • 举报
回复
引用 12 楼 ky_min 的回复:
[quote=引用 5 楼 u013331731 的回复:] [quote=引用 1 楼 ky_min 的回复:]
DECLARE @STR VARCHAR(20)
SET @STR='20150302123426000'
SELECT CAST(LEFT(@STR,8)+' '+SUBSTRING(@STR,9,2)+':'+SUBSTRING(@STR,11,2)+':'+SUBSTRING(@STR,13,2)+'.'+SUBSTRING(@STR,15,3)AS DATETIME)
直接字符串处理,或者写个函数包装处理了下
我昨天直接直接弄了个转换的出来了,然后今天早上就又忘了,无语,想找个简短的[/quote]涨姿势了,有没有印象是大概什么样的,可以共同想下[/quote]里面也有cast关键词,还有个datetime类型,我这记性是越来也不行了,睡个觉就忘记了,具体写法我还没有想起来。昨天写的也没用保存,无语了
还在加载中灬 2014-11-17
  • 打赏
  • 举报
回复
引用 5 楼 u013331731 的回复:
[quote=引用 1 楼 ky_min 的回复:]
DECLARE @STR VARCHAR(20)
SET @STR='20150302123426000'
SELECT CAST(LEFT(@STR,8)+' '+SUBSTRING(@STR,9,2)+':'+SUBSTRING(@STR,11,2)+':'+SUBSTRING(@STR,13,2)+'.'+SUBSTRING(@STR,15,3)AS DATETIME)
直接字符串处理,或者写个函数包装处理了下
我昨天直接直接弄了个转换的出来了,然后今天早上就又忘了,无语,想找个简短的[/quote]涨姿势了,有没有印象是大概什么样的,可以共同想下
tololo 2014-11-17
  • 打赏
  • 举报
回复
引用 10 楼 missMeyo 的回复:
第一种写法是对的,select convert(datetime,'212212250409',120) 转换错误。
就没有更简单点的转换吗?昨天写了个出来了,今天又忘了
missMeyo 2014-11-17
  • 打赏
  • 举报
回复
第一种写法是对的,select convert(datetime,'212212250409',120) 转换错误。
xdashewan 2014-11-17
  • 打赏
  • 举报
回复
引用 8 楼 u013331731 的回复:
你确定你格式没错?
你给的那个例子是错的,还有我用这种类似的转换还是原样子如:select CONVERT(varchar(100),'20150302123426000',21)还是原样[/quote] select CONVERT(varchar(100),'20150302123426000',21),字符串转字符串当然没任何意义,第一个参数是你要转换的类型
tololo 2014-11-17
  • 打赏
  • 举报
回复
引用 7 楼 xdashewan 的回复:
引用 6 楼 u013331731 的回复:
http://www.w3school.com.cn/sql/func_convert.asp
你这样转换直接回出错的,我这样试过
你确定你格式没错?[/quote]你给的那个例子是错的,还有我用这种类似的转换还是原样子如:select CONVERT(varchar(100),'20150302123426000',21)还是原样
xdashewan 2014-11-17
  • 打赏
  • 举报
回复
引用 6 楼 u013331731 的回复:
http://www.w3school.com.cn/sql/func_convert.asp
你这样转换直接回出错的,我这样试过[/quote] 你确定你格式没错?
tololo 2014-11-17
  • 打赏
  • 举报
回复
引用 2 楼 xdashewan 的回复:
select convert(datetime,'212212250409',120) 120是Style ID,参照 http://www.w3school.com.cn/sql/func_convert.asp
你这样转换直接回出错的,我这样试过
tololo 2014-11-17
  • 打赏
  • 举报
回复
引用 1 楼 ky_min 的回复:
DECLARE @STR VARCHAR(20)
SET @STR='20150302123426000'
SELECT CAST(LEFT(@STR,8)+' '+SUBSTRING(@STR,9,2)+':'+SUBSTRING(@STR,11,2)+':'+SUBSTRING(@STR,13,2)+'.'+SUBSTRING(@STR,15,3)AS DATETIME)
直接字符串处理,或者写个函数包装处理了下
我昨天直接直接弄了个转换的出来了,然后今天早上就又忘了,无语,想找个简短的
山寨DBA 2014-11-17
  • 打赏
  • 举报
回复
你这个只能这样了:

select left('20150302123426000',4)+'-'+substring('20150302123426000',5,2)+'-'
+substring('20150302123426000',7,2)+' '+substring('20150302123426000',9,2)+':'+substring('20150302123426000',11,2)+':'
+substring('20150302123426000',13,2)+'.'+substring('20150302123426000',15,3)
xiaoxiangqing 2014-11-17
  • 打赏
  • 举报
回复
参考1楼的就可以
xdashewan 2014-11-17
  • 打赏
  • 举报
回复
select convert(datetime,'212212250409',120) 120是Style ID,参照 http://www.w3school.com.cn/sql/func_convert.asp
还在加载中灬 2014-11-17
  • 打赏
  • 举报
回复
DECLARE @STR VARCHAR(20)
SET @STR='20150302123426000'
SELECT CAST(LEFT(@STR,8)+' '+SUBSTRING(@STR,9,2)+':'+SUBSTRING(@STR,11,2)+':'+SUBSTRING(@STR,13,2)+'.'+SUBSTRING(@STR,15,3)AS DATETIME)
直接字符串处理,或者写个函数包装处理了下

34,594

社区成员

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

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