2015-10-31 2 views
0

Я работаю на SQL Server хранимой процедуры, чтобы экспортировать файл в формате .csv, в котором есть условное утверждение приведены ниже:Строковое значение в хранимой процедуре SQL Server?

xp_cmdshell ' bcp 
"Select ''Status'' union all Select (CASE WHEN (foo.new_value != '') THEN ''Start'' ELSE ''Stop'' END) 
from table_name as foo" 
queryout c:/test.csv -T -c -t' 

Когда я запускаю выше запрос он не экспортирующей любой файл на выполнение процедуры , Я думаю, проблема возникает из-за строк Start и Stop значений, потому что когда я выполняю запрос, упомянутый ниже, он выполняет отлично и успешно экспортирует файл с именем test.csv.

xp_cmdshell ' bcp 
"Select ''Status'' union all Select foo.new_value from table_name as foo" 
queryout c:/test.csv -T -c -t' 

Так вот мой вопрос, как я могу вставить значение строки, которая заменяет new_value значение столбца с "Start" или "Stop" значений.

Цените любую помощь.

ответ

1

не проблема только сазе, где вы не избежали ' должным образом, так как результат вашей струны:

... CASE WHEN (foo.new_value != ') THEN 

Таким образом, вы должны добавить еще 2 ' S:

... CASE WHEN (foo.new_value != '''') THEN 
Смежные вопросы