【发布时间】:2019-03-16 10:06:55
【问题描述】:
我在尝试使用 bcp 实用程序导出到文本文件时遇到问题。这是我的脚本:
USE [Siron_ETL]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[customer]
AS
Declare @V_SQL_TMP VARCHAR (4000)
SET @V_SQL_TMP = 'bcp " SELECT INSTITUTE+H_COUNTRY+replicate('' '',3-len( H_COUNTRY)) from [Siron_ETL].[dbo].[in_customer]" queryout "C:\Customer.txt" -c -UTF8 -T -t -Slocalhost'
EXEC xp_cmdshell @V_SQL_TMP
但是,当 H_Country 为 NULL 时,我导出的 Customer.txt 中没有数据。如果我用空格或任何字符替换 NULL 值,它就可以工作。我如何在列中使用 NULL 值导出。
【问题讨论】:
-
CUSTNO 与您的查询之间似乎没有任何关系。请说明您的情况。
-
@SM或者对不起。这是 H_Country
-
当
H_COUNTRY为NULL 时,您认为3-len(H_COUNTRY)会发生什么? -
我预计当它为空时。它应该替换为 3 个空格。像''
标签: sql sql-server stored-procedures bcp