Добавление DATEADD в SUBSTRING OF TEXT, чтобы получить дату в будущем - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь извлечь дату из подстроки текстового поля, которое включает число метаданных 'x', таких как название компании, валюта и т. Д. c, которые все вводятся в одно поле с идентификатором узла в качестве идентификатора, например

Имя столбца - атрибуты Значения выглядят следующим образом: Название компании27 / 04/2021 ... и т. Д.

Мне нужно только перетащить дату в поле A61, а затем добавить дату и добавить для всего, чья дата больше, но не превышает 3 месяцев с этой даты.

Это также объединено в отдельную таблицу, в которой содержится столбец «Имя файла», связанный с этой датой.

Это текущий неправильный код, который я использую, но очевидно, что мне нужно над этим поработать.

Любые предложения приветствуются! SELECT DISTINCT n.Filename , SUBSTRING ('<A61>', 6,5) + SUBSTRING ('<A61>', 11,5)AS ExpiryDate FROM NODE n JOIN NODEMETADATA m ON n.MetaID = m.MetaID WHERE SUBSTRING ('<A61>', 6,5) + SUBSTRING ('<A61>', 11,5) = DATEADD(MONTH, 3, GETDATE()) AND n.NODETYPE = 9

Нет ошибок сообщения, но результаты не содержат ничего в течение 3 месяцев, включая мой DATEADD, по-видимому, будет собирать только то, что ровно через 3 месяца.

Из-за этого я также не отвечаю Если DATEADD правильно работает с подстрокой и обрабатывает подстроку как объединенную дату.

SSMS 2008

Пример данных для указанных c Ячейка:

<A4>Company name</A4></A5><A61>27/04/2021</A61><A9>VAT</A9>...and so on
...