J'ai hérité d'une requête et une partie de la requête consiste à supprimer des caractères pour obtenir certains caractères.

Voici donc la chaîne "Added Keyword (Group) 'ABC-ABC-ABC-ABC' to 'Incoming Fax - 4/3/2017 1:57:21 PM - From: [Fax Name or #s], To: [2140000000]"

Voici ma requête:

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

Le résultat final est que je veux juste la date et l'heure qui est le 4/3/2017 1:57:21 PM

J'utilise SSMS 2014

2
user7681605 6 avril 2017 à 19:11

2 réponses

Meilleure réponse

Vous pouvez changer +4 ou -4 selon vos besoins. maintenant vous aurez votre sortie désirée

SUBSTRING(INSTR(column1,'Fax',1)+4,(INSTR(column1,'Form:',1)-INSTR(column1,'Fax',1)-4)) 
0
krishn Patel 7 avril 2017 à 03:59

Essayez d'utiliser le code ci-dessous:

    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
0
Praveen ND 7 avril 2017 à 07:30