如何从值文本中提取数据

时间:2017-04-06 16:11:21

标签: sql sql-server tsql

我继承了一个查询,部分查询是删除字符以获取某些字符。

所以这里是字符串"Added Keyword (Group) 'ABC-ABC-ABC-ABC' to 'Incoming Fax - 4/3/2017 1:57:21 PM - From: [Fax Name or #s], To: [2140000000]"

这是我的问题:

SUBSTRING(column1,CHARINDEX('to ''',column1)+19,LEN(LTRIM(RTRIM(column1)))-CHARINDEX('''',(column1))-19) as Received

最终结果是我只想要4/3/2017 1:57:21 PM

的日期和时间

我正在使用SSMS 2014

2 个答案:

答案 0 :(得分:0)

您可以根据需要更改+4或-4。现在你将有你的欲望输出

SUBSTRING(INSTR(column1,'Fax',1)+4,(INSTR(column1,'Form:',1)-INSTR(column1,'Fax',1)-4)) 

答案 1 :(得分:0)

尝试使用以下代码:

    DECLARE @String NVARCHAR(MAX) ='Added Keyword (Group) ''ABC-ABC-ABC-ABC'' to ''Incoming Fax  - 4/3/2017 1:57:21 PM - From: [Fax Name or #s], To: [2140000000]'
    SELECT SUBSTRING(@String,PATINDEX('%[0-9]%',@String),20)as Received
    --SELECT SUBSTRING(@String,PATINDEX('%[0-9]%',column1),20)as Received