Database Features
Tips and Tricks on using Exasol - from SQL and Lua Scripts to transactions and performance
cancel
Showing results for 
Search instead for 
Did you mean: 
This article explains the information found in EXA_ALL_OBJECT_SIZES
View full article
Problem Working with DOUBLE values sometimes results in inaccuracy.   Diagnosis Those inaccuracies are not unexpected when dealing with DOUBLEs. As DOUBLE is an approximative data type, some values can not be stored exactly. This is a general issue of floating-point arithmetic.   You can verify the data type of your column by creating a table using the query and viewing the data types for the newly-created column, for example:  CREATE TABLE TEST AS SELECT ROUND(((71222-65504)/65504*100) ,1); -- Creates a DOUBLE   Solution You can use an exact numeric type, like DECIMAL to remove inaccuracies.  Such as the example below:   SELECT ROUND( CAST ((71222-65504)/65504*100 AS DECIMAL (16,3)) ,1); > 8.7 SELECT cast (1 as DECIMAL (17,16)) - cast (1E-16 as DECIMAL (17,16)) AS exact; > 0.9999999999999999   Additional References https://docs.exasol.com/sql_references/data_types/datatypedetails.htm#NumericDataTypes
View full article
Generally speaking, NULL is not a special value, but it represents an undefined value. This article describes how to work with NULL values and the types of valid comparisons
View full article
When to use which programming language in Exasol? This article helps you to find the right language for your task.
View full article
Handling geospatial data can be tough, especially if you are working with large, high detail polygons. If you experiencing unusual high query runtime this guide shows you how to speed up the process.
View full article
MERGE is designed to use a small UPDATE table to affect a larger FACT table. This article explains how it works
View full article
Question Is the ROWID always assigned in an ascending order? Is it possible to determine the sequence of inserted records with the ROWID? Answer The ROWIDs of a table are managed by the DBMS. They are assigned in an ascending order per node and stay distinct within a table. For different tables, they could be the same. DML statements such as UPDATE, DELETE, TRUNCATE or MERGE might internally reorder data storage, invalidating and reassigning all the ROWIDs. Contrary to that, structural table changes such as adding a column leave the ROWIDs unchanged. Altering   distribution keys   of or   reorganizing   a table will certainly reassign ROWID values. Therefore the ROWID can't be used to determine the exact sequence or age of a record, it is designed to be a   short term   identifier for rows to be used for duplicate elimination. The ROWID pseudo column can only be used on   table   objects, not on views or subselects. If you try it on a view, you will receive an appropriate error message Additional References ROWID Syntax
View full article
If you want to implement Column Level Security in addition to Row Level Security, this example shows you how this can work using Virtual Schemas
View full article
This article describes how Unicode is supported in Exasol
View full article
NULL and nil have two different meanings in the context of Lua Programming. This article explains the difference
View full article