SQL读取csv问题

nebuung 2018-08-15 02:41:52
如下代码,我需要将路径的文件夹名取当天的日期,求教怎么组合
另外是否可以将fnote列值写为路径中的文件夹名“DPR001”

use MySql
/*
CREATE TABLE [dbo].[temp_pre](
[time1] [float] NULL,
[time2] [float] NULL,
[fdate] [nvarchar](50) NULL,
[ftime] [nvarchar](50) NULL,
[fnote] [nvarchar](50) NULL
)
*/
BULK INSERT temp_pre
FROM 'D:\DPR001\2018-08-15.csv'
--FROM 'D:\DPR001\'+convert(varchar(10),getdate(),120)+'.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
delete from temp_pre where time1 is null
SELECT * FROM temp_pre
...全文
189 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
nebuung 2018-08-16
  • 打赏
  • 举报
回复
引用 1 楼 zjcxc 的回复:
-- 给 fnote 加上默认值,这样新导入的数据这个列的默认值就是 DPR001
ALTER TABLE [dbo].[temp_pre]
	ADD CONSTRAINT DF_fnote DEFAULT 'DPR001' FOR fnote
;
-- 日期的问题用动态语句
DECLARE @sql nvarchar(4000);
SET @sql = '
BULK INSERT temp_pre
FROM ''D:\DPR001\' + CONVERT(varchar(10), GETDATE(), 120) + '.csv''
WITH
(
FIELDTERMINATOR = '','',
ROWTERMINATOR = ''\n'' 
)';
EXEC(@sql);
感谢大神相助。 使用动态语句插入csv已成功,再请问下如果我的路径不存在那个文件,如何跳过以防止产生报错? 加入默认值的方法跟我实际情况不适用,我采取了其他方式。
zjcxc 2018-08-15
  • 打赏
  • 举报
回复
-- 给 fnote 加上默认值,这样新导入的数据这个列的默认值就是 DPR001
ALTER TABLE [dbo].[temp_pre]
ADD CONSTRAINT DF_fnote DEFAULT 'DPR001' FOR fnote
;
-- 日期的问题用动态语句
DECLARE @sql nvarchar(4000);
SET @sql = '
BULK INSERT temp_pre
FROM ''D:\DPR001\' + CONVERT(varchar(10), GETDATE(), 120) + '.csv''
WITH
(
FIELDTERMINATOR = '','',
ROWTERMINATOR = ''\n''
)';
EXEC(@sql);

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧