SQL Serverで小数点以下2桁の数を記述する方法
SQL Serverで小数点以下2桁の数を記述する方法
SQL Serverで小数点以下2桁の数を記述するには、decimal または numeric データ型を使用します。これらのデータ型は、小数点を含む数値を格納するために設計されています。
decimal データ型は、小数点以下桁数を含む数値を格納するために使用されます。
- 構文:
decimal(precision, scale)
- precision: 数値の総桁数 (小数点を含む)
- scale: 小数点以下の桁数
例:
-- 小数点以下2桁の数を格納する列
create table my_table (
id int,
price decimal(10, 2)
);
-- 小数点以下2桁の数値を挿入
insert into my_table (id, price) values (1, 123.45);
-- 小数点以下2桁の数値を取得
select price from my_table where id = 1;
numeric データ型は、decimal データ型と似ていますが、より多くの精度とスケールをサポートしています。
numeric(precision, scale)
-- 小数点以下2桁の数を格納する列
create table my_table (
id int,
price numeric(10, 2)
);
-- 小数点以下2桁の数値を挿入
insert into my_table (id, price) values (1, 123.45);
-- 小数点以下2桁の数値を取得
select price from my_table where id = 1;
decimal と numeric データ型はどちらも小数点を含む数値を格納するために使用できます。decimal データ型のほうが一般的に使用されていますが、numeric データ型のほうが多くの精度とスケールをサポートしています。
-- テーブル作成
create table my_table (
id int,
price decimal(10, 2) -- 小数点以下2桁の数を格納
);
-- データ挿入
insert into my_table (id, price) values (1, 123.45);
insert into my_table (id, price) values (2, 987.65);
-- データ取得
select id, price from my_table;
-- 小数点以下2桁で四捨五入
select id, round(price, 2) from my_table;
-- 小数点以下2桁を切り捨て
select id, floor(price * 100) / 100 from my_table;
-- 小数点以下2桁を切り上げ
select id, ceiling(price * 100) / 100 from my_table;
- 最初の
create table
ステートメントは、id
列とprice
列を持つmy_table
というテーブルを作成します。price
列はdecimal(10, 2)
データ型なので、小数点以下2桁の数値を格納できます。 - 次の
insert into
ステートメントは、2つの行をmy_table
テーブルに挿入します。 - 次の
select
ステートメントは、my_table
テーブルのすべてのデータを取得します。 - 次の
round()
関数は、price
列の値を小数点以下2桁で四捨五入します。
小数点以下2桁の数を記述する他の方法
-- 小数点以下2桁で四捨五入
select id, round(price, 2) from my_table;
FLOOR 関数
-- 小数点以下2桁を切り捨て
select id, floor(price * 100) / 100 from my_table;
CEILING 関数
-- 小数点以下2桁を切り上げ
select id, ceiling(price * 100) / 100 from my_table;
FORMAT 関数
-- 小数点以下2桁でフォーマット
select id, format(price, 'F2') from my_table;
CONVERT 関数
-- 小数点以下2桁に変換
select id, convert(varchar(10), price, 2) from my_table;
解説
- 上記の例は、すべて
my_table
テーブルのprice
列を小数点以下2桁で表示する方法を示しています。 ROUND()
関数は、数値を指定された桁数で四捨五入します。CONVERT()
関数は、数値を別のデータ型に変換します。
注意
- 上記の方法を使用する場合は、目的
sql sql-server decimal