当前位置: 代码迷 >> Sql Server >> 非一般字符转转时间,求大牛
  详细解决方案

非一般字符转转时间,求大牛

热度:87   发布时间:2016-04-24 10:05:21.0
特殊字符转转时间,求大牛
请教大牛 如何将   Jan 15 2014 12:26:00:000PM 这种类型的字符串转换为datetime格式?


速求啊!!!
感谢不尽!!!
------解决方案--------------------
Convert函数 
具体用法
http://www.w3school.com.cn/sql/func_convert.asp
------解决方案--------------------
搞个暴力一点的
DECLARE @a VARCHAR(50)
SET @a='Jan 15 2014 12:26:00:000PM'
SET LANGUAGE us_english
SELECT DATENAME(year, @a)+'-'+CASE  DATENAME(month, @a)WHEN 'January' THEN '01'
WHEN 'February' THEN '02' WHEN 'March' THEN '03' WHEN 'April' THEN '04' WHEN 'May' THEN '05'
WHEN 'June' THEN '06' WHEN 'July' THEN '07' WHEN 'August' THEN '08' WHEN 'September' THEN '09'
WHEN 'October' THEN '10' WHEN 'November' THEN '11' ELSE '12' END 
 +'-'+DATENAME(day, @a)+' '+DATENAME(hour, @a)+':'+DATENAME(MINUTE, @a)+':'+RIGHT('00'+DATENAME(second, @a),2)

 /*
---------------------------------------------------------------------------------------------------------------------------------
2014-01-15 12:26:00
 */

------解决方案--------------------

SET LANGUAGE us_english
SELECT CONVERT(DATETIME,'Jan 15 2014 12:26:00:000PM ',109)

------解决方案--------------------
引用:
搞个暴力一点的
DECLARE @a VARCHAR(50)
SET @a='Jan 15 2014 12:26:00:000PM'
SET LANGUAGE us_english
SELECT DATENAME(year, @a)+'-'+CASE  DATENAME(month, @a)WHEN 'January' THEN '01'
WHEN 'February' THEN '02' WHEN 'March' THEN '03' WHEN 'April' THEN '04' WHEN 'May' THEN '05'
WHEN 'June' THEN '06' WHEN 'July' THEN '07' WHEN 'August' THEN '08' WHEN 'September' THEN '09'
WHEN 'October' THEN '10' WHEN 'November' THEN '11' ELSE '12' END 
 +'-'+DATENAME(day, @a)+' '+DATENAME(hour, @a)+':'+DATENAME(MINUTE, @a)+':'+RIGHT('00'+DATENAME(second, @a),2)

 /*
---------------------------------------------------------------------------------------------------------------------------------
2014-01-15 12:26:00
 */


吓尿了都
------解决方案--------------------
这个不用set language

DECLARE @a VARCHAR(50)
SET @a='Feb 15 2014 12:26:00:000PM'
select CONVERT(DATETIME,stuff(stuff(stuff(@a,4,1,'-'),7,1,'-'),1,3,
ceiling(charindex(substring(@a,1,3),'JanFebMarAprMayJunJulAugSepOctNovDec')/3.0)))
  相关解决方案