データベース千夜一夜第22回

SQLと関数~文字列関数と日付関数 長谷川裕行
有限会社 手國堂

関数の互換性

前回紹介した集計関数を始め、本コラムで紹介する関数群は、SQL Serverに搭載されているSQL処理機構“Transact SQL”の機能として組み込まれているものです。

データベース・エンジンによって関数の仕様は異なり、同じ機能の関数でも名称や引数が違っていることがあります。例えば、現在の日付を求める関数はSQL Serverでは“GETDATE”ですが、Oracleでは“SYSDATE”となっています。もっと複雑な処理を行う関数では引数や戻り値の方も異なります。大抵のデータベース・エンジンには、通常の処理に必要な関数が一通り揃っていますが、中にはSQL ServerにあってOracleにない関数やその逆の関数もあります。

従って、関数を使ったSQL文は他のデータベースに流用できません。データベース側に埋め込んで使用するストアド・プロシージャで関数を使う場合は問題ありませんが、アプリケーション側から発行するSQL文に使用する場合には注意が必要です。

なお、SQL文で使用する関数の引数には、フィールド名を直接指定できます。フィールド名は[ ]や''で囲まず直接記述します。



トップページ
関数の互換性
文字列関数
日付関数
+演算子による文字列と日時の加算
あとがき
Copyright © MESCIUS inc. All rights reserved.