Sybase iAnywhere SQL AAnywhere Mobile and Embedded Database

I'd rather play golf


Thoughts on data management, autonomic computing, and self-managing database systems.

header image

Keywords and upgrades

April 18th, 2010 · Comments Off

Each new SQL Anywhere release brings additional SQL functionality, some resulting from enhancements to the SQL standard, and some resulting from our own innovations to the product. In the forthcoming Version 12, for instance, SQL Anywhere will support the “distinct predicate” from the SQL/2008 standard that has the syntax X IS [ NOT ] DISTINCT [...]

[Read more →]

Tags: SQL Anywhere · SQL Standard

Mixing SQL dialects

March 22nd, 2010 · 1 Comment

In November 1995 we launched the first version of SQL Anywhere (version 5.0) that offered support for Transact-SQL, in addition to SQL Anywhere’s existing dialect, which we continue to call Watcom SQL. (By the way, SQL Anywhere 5.0 was my first SQL Anywhere release, as I had joined the firm just a month earlier). There [...]

[Read more →]

Tags: Database Administration · SQL Anywhere · SQL Standard

SELECT over an UPDATE statement – part trois

January 28th, 2010 · 1 Comment

In a previous article, I presented some examples of how one can SELECT rows from a dml-derived-table, a new SQL language feature of the SQL Anywhere 12 server, now in beta. In this post, I want to briefly describe some other ways in which one can exploit dml-derived-tables to simplify applications. The first thing to [...]

[Read more →]

Tags: SQL Anywhere · SQL Standard

SELECT over an UPDATE statement – part deux

January 21st, 2010 · 3 Comments

In a previous post in May 2009 I expressed admiration for a SQL language feature in IBM’s DB2 product that permits one to use an update DML statement as a table expression in a query’s FROM clause. Here is a simple example to illustrate DB2′s syntax: 1 2 3 SELECT T_updated.* FROM NEW TABLE ( [...]

[Read more →]

Tags: DB2 · SQL Anywhere

Using RowGenerator – part deux

October 16th, 2009 · Comments Off

After posting my recent article on the use of the RowGenerator system table, I received a welcome email from Jan-Eike Michels of IBM who, like me, sits on the DM32.2 committee for INCITS as the IBM representative for the SQL Standard: Hi Glenn, Just stumbled across your blog about the RowGenerator (http://iablog.sybase.com/paulley/2009/09/using-rowgenerator/) . I don’t [...]

[Read more →]

Tags: SQL Anywhere · SQL Standard

Mechanics of options in SQL Anywhere

September 16th, 2009 · 2 Comments

In SQL Anywhere, server, database, and connection-level options provide application control of various behaviours that can affect server operation and/or application-visible semantics. “Options” as implemented in SQL Anywhere are not part of the ISO SQL Standard, though the concept of support for “global variables” has been discussed within the SQL standards process. SQL Anywhere options [...]

[Read more →]

Tags: SQL Anywhere · SQL Standard

LIKE predicate semantics with blank-padded databases

August 21st, 2009 · 3 Comments

In the SQL:2008 standard, fixed-length character string values are blank padded. Blank padding occurs during storage of a fixed-length character string value when its original size is less than the declared width of the column. Blank padding also occurs when fixed-length character strings are compared using any string comparison predicate. For storage, here is the [...]

[Read more →]

Tags: SQL Anywhere · SQL Standard

Invoking the SQL Flagger in SQL Anywhere

August 3rd, 2009 · Comments Off

The flagging of SQL statements is defined in the ANSI/ISO SQL:2008 standard as language features F812 (“basic” flagging) and F813 (“extended” flagging). Flagging is the notion of identifying non-conformance of specific SQL constructions with respect to the ANSI/ISO SQL standard. Here’s a simple example using the sample DEMO database with SQL Anywhere: 1 SELECT SQLFLAGGER( [...]

[Read more →]

Tags: SQL Anywhere · SQL Standard

Using the BIT VARYING data type

July 8th, 2009 · Comments Off

The ANSI/ISO SQL Standard eliminated the BIT and BIT VARYING data types with the formal adoption of SQL:2003; the last standard to support them, including the BIT_LENGTH() function, was SQL:1999. The SQL:2003 standard retained the BOOLEAN type to hold the truth values TRUE and FALSE. The functionality provided by bit string arrays can be useful [...]

[Read more →]

Tags: SQL Anywhere · SQL Standard

Using regular expressions with SQL Anywhere

June 26th, 2009 · 3 Comments

SQL Anywhere version 11.0.0 introduced support for search conditions that include regular expression searching. There are two variants of regular expression search predicates that one can use, each with their own semantics: SIMILAR TO and REGEXP. SIMILAR TO The SIMILAR TO predicate is part of the 2008 ANSI/ISO SQL standard. However, the draft of the [...]

[Read more →]

Tags: Query optimization · SQL Anywhere · SQL Standard