[英]Inserting empty spaces instead of NULLs with BULK INSERT
我正在使用BULK INSERT將多個寄存器插入數據庫中,該數據庫中已經有數據。 我想知道是否有任何方法可以插入空白而不是NULL,因此插入的數據在視覺上與先前的數據一致。 這是我正在使用的腳本。
BULK INSERT Documentos
FROM '\\Cate-des-tn-032\2015\InsertAWeb_07-05-2019.csv'
WITH (
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)
UPDATE Documentos
SET FechaCargaLote = CONVERT(VARCHAR(50), GETDATE(), 120)
WHERE FechaCarga LIKE '%2015%'
這是使用暫存表的方案。 首先將所有數據加載為VarChar()。 然后根據需要將轉換插入到您的實際表中。
設置表:
Create Table #staging_tbl
(
id VarChar(5),
dt VarChar(15)
)
Create Table #actual_tbl
(
id Int,
dt VarChar(10)
)
樣本文件[test.txt]
1;2019-05-12
1;2019-05-11
1;2019-05-10
1;
1;2019-05-08
2;2019-04-19
批量插入
BULK INSERT #staging_tbl
FROM 'c:\Downloads\test.txt'
WITH
(
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)
將數據從臨時表移至實際表:將NULL轉換為“空白”
Insert Into #actual_tbl
SELECT
id,
Case When dt Is Null Then '' Else dt End As d
FROM #staging_tbl
查詢實際表
Select * From #actual_tbl
結果:
id dt
1 2019-05-12
1 2019-05-11
1 2019-05-10
1
1 2019-05-08
2 2019-04-19
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.