Tôi cố gắng tạo một trường mới trong bảng thuộc tính của mình và đặt các giá trị từ một trường khác sau khi chuyển đổi từ ký tự sang số nguyên nhưng không thể có được cú pháp đúng. Tôi chạy nó dưới dạng shell-script trong MSYS.
cd D:/GIS_DataBase/CorineLC/shps_app_and_extr/
myfile=extr_and_app.shp
name=${myfile%.shp}
ogrinfo $myfile -sql "ALTER TABLE $name ADD COLUMN code_num int(3)"
ogrinfo $myfile -sql "UPDATE TABLE $name SET code_num = CONVERT(code_06 As int(3))"
Thông báo lỗi (MSYS):
Kay@KAY-PC /c/users/kay/desktop/bash
$ sh calc_field_shp.sh
Warning 6: Unsupported column type 'int'. Defaulting to VARCHAR
INFO: Open of `extr_and_app.shp'
using driver `ESRI Shapefile' successful.
ERROR 1: SQL Expression Parsing Error: syntax error
INFO: Open of `extr_and_app.shp'
using driver `ESRI Shapefile' successful.
Chỉnh sửa - Một cách khác với SQLite:
cd D:/GIS_DataBase/CorineLC/shps_app_and_extr/
myfile=extr_and_app.dbf
name=${myfile%.dbf}
ogrinfo $myfile -sql "ALTER TABLE $name DROP COLUMN code_num"
ogrinfo $myfile -sql "ALTER TABLE $name ADD COLUMN code_num integer(3)"
ogrinfo $myfile -dialect SQLite -sql "UPDATE $name SET code_num = CAST(code_06 As integer(3))"
Thông báo lỗi:
Kay@KAY-PC /c/users/kay/desktop/bash
$ sh calc_field_shp.sh
INFO: Open of `extr_and_app.dbf'
using driver `ESRI Shapefile' successful.
INFO: Open of `extr_and_app.dbf'
using driver `ESRI Shapefile' successful.
ERROR 1: SQL Expression Parsing Error: syntax error
INFO: Open of `extr_and_app.dbf'
using driver `ESRI Shapefile' successful.
lỗi gì bạn nhận được?
—
RK
@RK, tôi đã thêm thông báo lỗi vào op.
—
Kay
Bạn đã thử CAST thay vì CHUYỂN ĐỔI chưa?
—
dmci
Tôi đã làm mà không thành công ..
—
Kay