У меня есть поле, в котором содержатся описания и суммы в долларах.С помощью TSQL я хотел бы извлечь эти суммы в долларах, а затем вставить их в новое поле для записи.
- ОБНОВЛЕНИЕ -
Некоторые образцы данных могут быть:
Used knife set for sale $200.00 or best offer.
$4,500 Persian rug for sale.
Today only, $100 rebate.
Five items for sale: $20 Motorola phone car charger, $150 PS2, $50.00 3 foot high shelf.
В вышеприведенном наборе я думал о том, чтобы просто схватить первое вхождение цифры доллара... это самое простое.
Я не пытаюсь удалить суммы из исходного текста, просто получить их значение и добавить их в новое поле.
Суммы могут / не могут содержать десятичные дроби и запятые,
Я уверен, что PATINDEX не обрежет его, и мне не нужна исключительно функция RegEx для этого.
Однако, глядя на функцию поиска (выполнения) OLE Regex здесь представляется наиболее надежным, однако при попытке использовать функцию я получаю следующее сообщение об ошибке в SSMS:
SQL Server заблокировал доступ к процедуре 'sys.sp_OACreate' изкомпонент «Процедуры автоматизации Ole», так как этот компонент отключен как часть конфигурации безопасности для этого сервера.Системный администратор может разрешить использование «процедур автоматизации Ole» с помощью sp_configure.Для получения дополнительной информации о включении «Процедур автоматизации Ole» см. «Конфигурация контактной зоны» в электронной документации по SQL Server.
Я не хочу идти и изменять настройки сервера только для этой функции.У меня есть другая функция регулярных выражений, которая прекрасно работает без изменений.
Я не могу себе представить, что это так сложно - просто извлекать суммы в долларах.Есть более простые способы?
Спасибо.