SQL将字符串转换为DATETIME

时间:2015-11-09 12:06:32

标签: sql-server-2008 tsql

我需要(如果可能的话)将以日期格式为Monday October 19, 2015的字符串转换为可用的日期时间,例如01/10/2015

每次演员和转换我试图通过返回

来运行它
  

从字符串转换日期和/或时间时转换失败。

对于保存的格式,我无法做任何事情,因为它是固定过程的一部分。

2 个答案:

答案 0 :(得分:5)

砍掉一天:

DECLARE @S VARCHAR(32) = 'Monday October 19, 2015'

SELECT CAST(SUBSTRING(@S, CHARINDEX(' ', @S) + 1, LEN(@S)) AS DATETIME)

> 2015-10-19 00:00:00.000

答案 1 :(得分:0)

您应该将字符串操作为此格式 - " DD / MON / YYYY",其中DD为日,MON是月份名称的前三个字母,YYYY是年份。 您可以使用字符串函数轻松完成此操作,然后您可以使用常规转换将日期插入数据库,例如本文中列出的转换 - Convert DD-Mon-YYYY to DD/MM/YYYY