我有一个从它有NULL
CSV文件导入数据库表,这样,当它被导入的字段是空的,而不是它们所包含的字符串值'NULL'
。试图“NULL”的所有字符串值更新为NULL在SQL Server
CSV文件要在文本编辑器中打开才能编辑出所有NULL
,所以我试图创建一个SQL查询来更新表的每一列。
到目前为止,我有这个
Alter PROCEDURE [dbo].[sp_fixnulls]
@column nvarchar(100)
AS
BEGIN
SET NOCOUNT ON;
UPDATE my_table
SET @column=''
WHERE @column = 'NULL'
END
---------------
sp_fixnulls (SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='my_table')
,但是这是行不通的。我得到的错误消息
消息201,级别16,状态4,过程sp_fixnulls,行0
过程或函数 'sp_fixnulls' 预计参数 '@column',但未提供。
“但这是行不通的。“你能更具描述性吗?错误信息?意外的结果?结果是什么?”不起作用“不是结果 –
我不认为你可以传递一个对象名作为参数直接由SQL执行。也许你可以在SQL中构建查询字符串,然后使用EXEC。另外,避免调用你自己的sprocs名称,前缀为'sp_'[因为这个](http://sqlserverpedia.com/blog/sql-server-bloggers/stored -procedure-performance-using-%E2%80%9Csp_%E2%80%9D-prefix-%E2%80%93-myth-or-fact /) – Matt
如何导入csv到数据库? –