先日、数年ぶりにSQLを書いたのだけれど、OracleやMSSQLではないSymfowareというRDBMSで少し方言があったらしい。select文でタイムスタンプ型のフィールドに条件をセットするときなのだが、例えばフィールドFieldName(タイムスタンプ型)に対して

2010/12/24 00:00:00

という条件で検索したいときに、

FieldName = timestamp'2010-12-24 00:00:00:00'

とセットしてあげなきゃいけなかった。この timestamp'〜' というのはRDBMSによっていろいろ書き方があるみたい。あと日付のデリミタも / ではなく - じゃないとエラーになるとかこだわりの世界だった。

それと、「textyyyymmdd」というテキストと年月日がくっついたフィールドの年月日部分だけを使って検索したい!というのもselect文で

SUBSTRING ( textyyyymmdd FROM 5 TO 8 ) > YYYYMMDD

みたいにするとtextyyyymmddからyyyymmddだけを抜き出してYYYYMMDDと比べてくれるのだ。こういう機能はFileMakerでは存在しないからちょっとうらやましい感じだったな。

ま、オチは無いがメモってことで。