Как подавить дефисы в SQLCMD

О боже, после всего этого вот ответ: необходимо включить атрибут type в определение поля:

  {
    name: 'Account',
    title: 'Account',
    width: '10',
    type: 'text',
  },
  {
    name: 'Name',
    title: 'Name',
    width: '65',
    type: 'text',
  },
  {
    name: 'AXfer',
    title: 'ATeam',
    width: '10',
    type: 'text',
  },
  {
    name: 'BXfer',
    title: 'BGood',
    width: '10',
    type: 'text',
  }
26
задан a_horse_with_no_name 8 January 2019 в 12:07
поделиться

4 ответа

Я не думаю, что есть какой-либо вариант для достижения этой цели - боюсь, вам придется жить с этими заголовками.

-5
ответ дан 28 November 2019 в 07:27
поделиться

Следующая строка:

findstr /R /C:"^[^-]*$" MyTableColumns.csv > MyTableHeader.csv

очень опасна, так как удаляет все строки, содержащие «-». Вам лучше взглянуть на findstr /? и используйте что-то вроде:

findstr /B /V /C:"-----" MyTableColumns.csv > MyTableHeader.csv
-1
ответ дан slingshot 28 November 2019 в 07:27
поделиться

Единственное, о чем я могу думать, это удалить заголовок с помощью переключателя -h -1 и добавить имена столбцов в качестве первой строки в SQL-запрос:

SELECT 'FirstName' as FirstName, 'LastName' as LastName
UNION
SELECT top 5 FirstName, LastName FROM Person.Contact

Обратите внимание, что при наличии других данных введите затем (var)char, вам нужно преобразовать поле с помощью: CAST(MyColumnName AS varchar(32)) as MyColumnName

15
ответ дан SteveC 28 November 2019 в 07:27
поделиться

Можно сделать следующее:

exec 'sqlcmd -S YourServer -E -Q "set nocount on; select * from YourTable" -s "," -W | findstr /R /C:"^[^-]*$" > yourfile.csv'

Это создаст файл CSV с заголовками, без тире и обрезанного пробела, одним махом. На основе ответа MichaelM выше.

1
ответ дан 28 November 2019 в 07:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: