azure - 在 Azure Synapse 中重命名文件列名
问题描述
我有一个命名约定很差的文件,我想在使用 in 之前清理一下Azure
Synapse
。是否可以重命名with
块中的列?
SELECT TOP 10 *
FROM OPENROWSET(
BULK 'path_to_file.csv'
FORMAT = 'CSV'
PARSER_VERSION = '2.0'
FIRSTROW = 2)
WITH (
[ORDER ID] varchar(50)
) as rows
我可以在其中使用别名,select
但希望在此之前对其进行清理。
SELECT [ORDER ID] as order_id
我可以把它包装在一个视图中——只是希望有一种方法可以更早地重命名。
解决方案
是的,可以在WITH
块中重命名列;您在那里提供的名称将覆盖从文件中读取的列名(即使HEADER_ROW
设置为TRUE
.
不过有一个警告。您必须为所有列提供名称:
SELECT TOP 10 *
FROM OPENROWSET
(BULK 'path_to_file.csv',
FORMAT = 'CSV',
PARSER_VERSION = '2.0',
HEADER_ROW = true)
WITH
(
your_column_name_1 varchar(50)
...
your_column_name_N varchar(50)
)
AS rows
...或选择您要保留和/或使用其序号重命名的那些:
SELECT TOP 10 *
FROM OPENROWSET
(BULK 'path_to_file.csv',
FORMAT = 'CSV',
PARSER_VERSION = '2.0',
HEADER_ROW = true)
WITH
(
your_column_name_1 varchar(50) 1
your_column_name_4 varchar(50) 4
)
AS rows
推荐阅读
- angular - 以Angular 6反应形式在多个列中显示复选框
- android - 无论如何从设备内存中删除下载的动态模块(apk)文件?
- java - 如何解析从 php 返回到 Java 的二维数组?
- observable - RX Observables - 如果我不能改变价值,那么“随着时间的推移”有什么意义?
- d3.js - D3 - 不更新数据可视化的单选按钮
- sass - 为什么我的代码会复制文件的 css?
- unit-testing - 如何为 Rest 模板编写 Mockito Junit 测试用例?
- python - Python- %s %f %d % 等
- spring-integration - 如何处理在传输中终止的集成流
- python - “pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用”