SQL道場 算術関数 SIGN/SGN関数
SQLで数値の符号(プラス、マイナス)を得るSIGN/SGN関数について記載しています。
対応データベース:SQL Server MySQL Oracle PostgreSQL DB2 Access
SIGN/SGN関数の文法
SELECT SIGN(数値) FROM テーブル
SELECT SGN(数値) FROM テーブル
引数 | 数値 | 数値型(任意の数値) |
返値 | 数値型 符号が負なら -1 0なら 0 符号が正なら 1 |
SIGN関数は指定された数値の符号が負なら-1、正なら1、0なら0で返します。NULLをセットした場合、NULLが返されます。
文字列をセットした場合は、エラーを返します。
実行例
MySQLの実行例
MySQLはSGN関数はサポートされていません。
/* 符号が正(+)の数値をセット */
SELECT SIGN(10) as abs_value;
/* 符号が負(-)の数値をセット */
SELECT SIGN(-20) as abs_value;
/* 符号がゼロの数値をセット */
SELECT SIGN(0) as abs_value;
/* 符号がマイナスの小数点をセット */
SELECT SIGN(-50.2) as abs_value;
符号が正(+)の数値をセット
符号が負(-)の数値をセット
符号がゼロの数値をセット
符号がマイナスの小数点をセット
SQLServerの実行例
SQLServerはSGN関数はサポートされていません。
/* 符号が正(+)の数値をセット */
SELECT SIGN(10) as abs_value;
/* 符号が負(-)の数値をセット */
SELECT SIGN(-20) as abs_value;
/* 符号がゼロの数値をセット */
SELECT SIGN(0) as abs_value;
/* 符号がマイナスの小数点をセット */
SELECT SIGN(-50.2) as abs_value;