gpt4 book ai didi

mysql - MySQL 中的几何

转载 作者:行者123 更新时间:2023-11-29 14:12:26 35 4
gpt4 key购买 nike

我理解MySQL中的POINT()是什么,但我就是不明白这种格式的含义是什么1 POINT (8.04665153 -44.39902520) 我有以下 CSV

104|104||CURR|N|14102|4428||71816|71816|1|1点(8.04665153 -44.39902520)|

我正在使用以下查询将 CSV 加载到我的表中

LOAD DATA LOCAL INFILE '/data/disc/sad1.csv' INTO TABLE sad1 
FIELDS TERMINATED BY '|' ENCLOSED BY '"' lines terminated by '\n' IGNORE 23 LINES
(@var1, @var2,@var3,@var4,@var5,@var6,@var7,@var8,@var9,@var10,@var11,@var12)
SET `house_number` = @var1,
`range_low` = @var2,
`range_high` = @var3,
`status` = @var4,
`unofficial_flag` = @var5,
`rcl_id` = @var6,
`rna_id` = @var7,
`alt_id` = @var8,
`se_row_id` = @var9,
`id` = @var10,
`audit_id` = @var11,
`shape` = GeomFromText(@var12);

我在 shape 字段中得到 NULL。当我将 1 POINT (8.04665153 -44.39902520) 更改为 POINT (8.04665153 -44.39902520) 时,我正在填写一些数据。我应该如何处理前缀 1 在上面的数据中?

最佳答案

我不确定输入数据中的前缀 1 表示什么。众所周知的几何文本表示,如 SFA part 1 standard 第 7 节中所定义。 ,不包含这样的前缀。这个数字可能表示特征的数量。或者它可能表示点类型的整数代码,如该标准第 8.2.3 节的表 7 中所指定。

无论如何,只要在所有情况下前缀均为 1,并且输入 csv 数据的创建者未提供有关该值含义的其他详细信息,您最好的选择是只需删除这些前缀即可。您可以在 CSV 上使用预处理阶段来执行此操作,在整个文档中用 POINT 替换 1 POINT。您极有可能会意外地替换文本列中某处的某个事件。

如果您想安全起见,或者想避免额外的步骤,您还可以在 SQL 查询中进行更改,使用如下表达式:

`shape` = GeomFromText(IF(@var12 LIKE '1 POINT%', SUBSTRING(@var12, 3), @var12))

这将检查相应的列是否以 1 POINT 开头,如果是,则省略列文本中的前两个字符。

关于mysql - MySQL 中的几何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13261472/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com