如何在SQL Select语句中将文本字段更改为日期字段

时间:2013-08-19 15:33:55

标签: sql

我正在使用SQL Report Builder编写报告。我必须使用以下语句从文本字段(customer_order_line_hist,field = message_text)导出两个与日期相关的字段。

原始message_text字段始终相同,但日期信息除外:“计划交付日期已从2013-06-28 00.00.00更改为2013-05-16 00.00.00”

我正在尝试将两个输出字段(FROM_DATE& TO_DATE)转换为日期时间字段或格式为mm / dd / yyyy。

我尝试了CONVERT和CAST功能但没有成功。有什么想法吗?


Select  SUBSTR(t.message_text, 49, 10) AS FROM_DATE,
        SUBSTR(t.message_text, 72, 10) AS TO_DATE,
        t.order_no,
        t.line_no,
        t.rel_no,
        t.line_item_no,
        t.history_no
FROM    customer_order_line_hist t
Where   t.message_text Like 'The planned delivery date%'

1 个答案:

答案 0 :(得分:0)

如果语法正确,转换应该有效。试试这个简化的测试:

 declare @sText varchar(max)

 select @sText = 'The planned delivery date has been changed from 2013-06-28 00.00.00 to       2013-05-16 00.00.00'


 select  convert(datetime, SUBSTRING(@sText, 49, 10)) AS FROM_DATE,
    convert(datetime, SUBSTRING(@sText, 72, 10)) AS TO_DATE