J'ai une colonne de chaînes qui ont été extraites du contenu du courrier électronique. Les chaînes sont dans le format: -
Tuesday 12th March 2019
3 Réponses :
Pourriez-vous essayer ceci:
date_parse(regexp_replace('Tuesday 12th March 2019','(\d+)((th|rd|nd|st) )','$1 '),'%W %d %M %Y')
Ouais, il tombe sur % d code> malheureusement. :(
@Barryevanssee mon édition qui pourrait mettre à niveau la réponse de Gordon
Brillant, c'est ce que je cherchais! Merci beaucoup, appréciez l'aide!
Vous préférez également% E au lieu de% d parce que% d est le jour comme 01, 02, etc.% E EST Pendant la journée écrite comme 1,2, etc. Je pense que cela sera meilleur parce que votre date devrait être 1er et non la 01e ;) S'amuser ! Heureux de vous aider !
Il y a un nombre fini de suffixes, alors que diriez-vous d'une force brute estrach: Ce serait beaucoup plus simple si date_parse () code> prise en charge
prise en charge % D code>, mais apparemment, cela ne le fait pas. P> p>
DATE_PARSE a été la première chose que j'ai essayée. Il peut être juste d'être une force brute ... mais étrange il n'y a pas de manière native de faire ça! Merci pour le conseil.
Ah, oui ... J'avais considéré la force brute alors réalisais que je prendrais le "Saint" d'août. Peut encore être fait, je suppose en ajoutant dans un cas quand code> ... MEH!
Et je n'ai pas lu correctement parce que vous substr code> 'd it. Merci, je pense que c'est la meilleure approche pour l'instant.
Pour toute personne intéressée, j'ai pris les conseils des deux utilisateurs ci-dessus, ce qui m'a aidé à la solution. Le dernier bit de code ressemblait à ceci: - p>
Date (DATE_PARSE (GARM (REGEXP_REPLACE (SPLIT_PART (SPLAST_PART (SPLID_PART (SPLAST_PART (SPLAST_PART ( qui est retourné: - p>
2018-11-04 p>
2019-04-06 p>
2018-11-02 p>
2019-09-19 p>
2019-07-12 p>
2018-11-04 p>
2018-09-29 p>
2018-10-19 p>
2018-11-02 p>
Merci encore pour l'aide !! p> MY_DATA CODE>,
SPLIT_HERE CODE>, 2), '
split_here_2 code>, 1) ,
split_here_3 code>, 2), '(\ d +) ((th | rd | nd | ST))', '% 1')), '% e% m% y')) p >