SQL将字符串转换为日期

时间:2013-01-16 12:52:40

标签: sql sql-server-2005

我试图找到一种方法来提取字符串行的第一部分并将其分隔为日期。以下是一些数据的示例。

17/10/12 lskell Still waiting for one more signature on the 

我已经尝试将整个字段作为日期投射,并转换为日期,但这些失败了吗?

有人会有任何想法吗?

4 个答案:

答案 0 :(得分:0)

试试MySql

DATE_FORMAT(STR_TO_DATE(SUBSTRING_INDEX(columnname,' ',1), '%d/%m/%y'), '%Y-%m-%d')

答案 1 :(得分:0)

(假设日期以此格式出现)

-- MYSQL:

SELECT Str_to_Date(Left(yourstring,8),'%d/%m/%y') from yourtable;

-- Oracle

SELECT TO_DATE(left(yourstring,8),'dd/mm/yy')
from your table;

--- sql server
SELECT CONVERT(DATETIME,left(yourstring,8),120) from your table;

答案 2 :(得分:0)

如果你知道

  • 字符串中的第一个“字”将始终为日期
  • 日期始终通过空格
  • 与字符串的其余部分分开
  • 日期将采用一致的格式
  • 您正在使用MySQL

然后试试这个:

SELECT CAST(SUBSTRING_INDEX(myfield, ' ', 1) AS DATE) adate FROM mytable;

答案 3 :(得分:0)

尝试:

SELECT SUBSTRING('10/17/12 lskell Still waiting for one more signature on the', 1, 8)
相关问题