SQL: Difference between revisions
Jump to navigation
Jump to search
(+Analysing SQL syntax errors/table import or copy problems) |
(add formatting function for sqlite) |
||
Line 21: | Line 21: | ||
* column name used more than one time; | * column name used more than one time; | ||
* column name has reserved SQL word (depends on DB backend, see [http://www.petefreitag.com/tools/sql_reserved_words_checker/ SQL Reserved Words Checker] to quickly find out if a name is reserved) | * column name has reserved SQL word (depends on DB backend, see [http://www.petefreitag.com/tools/sql_reserved_words_checker/ SQL Reserved Words Checker] to quickly find out if a name is reserved) | ||
=== Formatting === | |||
If your data should have values as character with zero but you have number leading zero (in the example it should be six number) in SQLite you can run | |||
alter table TABLE add column NEW_COLUMN text; | |||
update TABLE set NEW_COLUMN=substr('000000'||OLD_COLUMN, length('000000'||OLD_COLUMN)-5, 6); | |||
[[Category:FAQ]] | [[Category:FAQ]] |
Revision as of 13:35, 29 March 2012
SQL support in GRASS GIS
GRASS 6 uses SQL for vector attribute management.
- sql Overview of SQL in GRASS
- databaseintro - Database management
- Using Openoffice.org with SQL Databases
- SQL rename columns
Analysing SQL syntax errors/table import or copy problems
Sometimes it happens that db.*, v.db.* or other SQL related commands fail. For example, with
ERROR: syntax error at or near "Offset" LINE 1: ...eatureDet varchar(254), Measure double precision, Offset dou... ^ WARNING: Unable to create table <hydro_pointEvent> WARNING: Copy table failed
How to fix that? Check out for
- column name used more than one time;
- column name has reserved SQL word (depends on DB backend, see SQL Reserved Words Checker to quickly find out if a name is reserved)
Formatting
If your data should have values as character with zero but you have number leading zero (in the example it should be six number) in SQLite you can run
alter table TABLE add column NEW_COLUMN text; update TABLE set NEW_COLUMN=substr('000000'||OLD_COLUMN, length('000000'||OLD_COLUMN)-5, 6);