繁体   English   中英

将csv导入mysql时忽略列的前两个字符

[英]ignore first two characters on a column while importing csv to mysql

我正在尝试将一个csv文件导入到mysql表中,但是我需要在导入到mysql之前删除特定列上的前两个字符。 这是我的陈述:

 string strLoadData = "LOAD DATA LOCAL  INFILE 'E:/park/Export.csv' INTO TABLE tickets  FIELDS  terminated by ',' ENCLOSED BY '\"'  lines terminated by '\n' IGNORE 1 LINES (SiteId,DateTime,Serial,DeviceId,AgentAID,VehicleRegistration,CarPark,SpaceNumber,GpsAddress,VehicleType,VehicleMake,VehicleModel,VehicleColour,IssueReasonCode,IssueReason,NoticeLocation,Points,Notes)";

IssueReasoncode' has data like 'LU12' ,但是我需要删除前2个字符,它应该只包含整数而不是alpha数字。 我需要从该列中删除'LU'

是否可以在left(IssueReasonCode +' '2).这样写left(IssueReasonCode +' '2). 该列为varchar(45),由于其上的数据量较大,现在无法更改。

谢谢

LOAD DATA INFILE能够在您读入每列的数据时对其执行功能( 在此处 qv)。 对于您的情况,如果要从IssueReasonCode列中删除前两个字符,可以使用:

RIGHT(IssueReasonCode, CHAR_LENGTH(IssueReasonCode) - 2)

删除前两个字符。 您可以使用SETLOAD DATA语句的末尾指定此类列映射。 您的声明应类似于以下内容:

LOAD DATA LOCAL INFILE 'E:/park/Export.csv' INTO TABLE tickets
FIELDS terminated by ','
ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(SiteId, DateTime, Serial, DeviceId, AgentAID, VehicleRegistration, CarPark, SpaceNumber,
GpsAddress, VehicleType, VehicleMake, VehicleModel, VehicleColour, IssueReasonCode,
IssueReason, NoticeLocation, Points, Notes)
SET IssueReasonCode = RIGHT(IssueReasonCode, CHAR_LENGTH(IssueReasonCode) - 2)

引用和引用这个例子中,你可以试试下面来看看它是否工作

SET子句中的用户变量可以以多种方式使用。 以下示例将第一个输入列直接用于t1.column1的值,并将第二个输入列分配给用户变量,该用户变量在用于t1.column2的值之前要进行除法运算:

LOAD DATA INFILE'file.txt'到表t1(column1,@ var1)SET column2 = @ var1 / 100;

string strLoadData = "LOAD DATA LOCAL  INFILE 'E:/park/Export.csv' INTO TABLE tickets  FIELDS  terminated by ',' ENCLOSED BY '\"'  lines terminated by '\n' IGNORE 1 LINES (SiteId,DateTime,Serial,DeviceId,AgentAID,VehicleRegistration,CarPark,SpaceNumber,GpsAddress,VehicleType,VehicleMake,VehicleModel,VehicleColour,@IRC,IssueReason,NoticeLocation,Points,Notes) SET IssueReasonCode = substr(@IRC,2) ;";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM