Я в середине преобразования столбца NTEXT в несколько записей. Я хочу разбить исходный столбец на новую строку или объект json. Это, безусловно, уникальный сценарий, но за пределами среды sql это регулярное выражение правильно соответствует всему, что мне нужно, из исходного столбца:Разделить столбцы SQL на несколько строк по соответствию регулярному выражению
({(.*)(.*\r\n)*?})|(.+\r\n)
.
Если у меня есть запись с колонки, которая имеет значение:
Foo bar baz
hello world
{
foo: 'bar',
bar: 'foo'
}
{
foo: 'foo',
bar: 'bar'
}
Я хочу, чтобы разбить его на несколько записей:
| ID | Text |
---------------------
| 1 | Foo bar baz |
| 2 | hello world |
| 3 | { |
| | foo: 'bar' |
| | bar: 'foo' |
| | } |
| 4 | { |
| | foo: 'foo' |
| | bar: 'bar' |
| | } |
Любой простой способ сделать это? Это сервер SQL Express.
Действительно большой ответ! Цените помощь. Я только что понял, что данные, которыми я манипулирую, также имеют некоторые вложенные данные json (pooh). Как вы можете манипулировать UDF, чтобы игнорировать '{', который не сразу следует за новой строкой? (Перед всеми вложенными json-данными есть как минимум два пробела.) –
@SamThornton Я беспокоился об этом. Позвольте мне немного лапнуть. –
@SamThornton FYI, UDF - это просто парсер. 1,001 использует. Можете ли вы поставить более надежную строку JSON? –