🙄
SQL/関数
このページでは、SQLの関数について記述します。
はじめに
SQL(Structured Query Language)には、データベースの操作やクエリの実行に役立つさまざまな関数があります。この記事では、SQLの主要な以下の関数について、具体的な使用例を示しながら説明します。
- 算術関数
- 文字列関数
- 日付関数
- 変換関数
- 集約関数
算術関数
算術関数は、数値データの操作や計算に使用されます。以下に一部の算術関数とその使用例を示します。
-
ROUND()
: 指定された桁数に数値を丸めます。
SELECT ROUND(3.14159, 2);
-- 結果: 3.14
-
ABS()
: 数値の絶対値を返します。
SELECT ABS(-10);
-- 結果: 10
-
POWER()
: 指定された数値の指数乗を計算します。
SELECT POWER(2, 3);
-- 結果: 8
-
MOD()
: 割り算の余りを計算します。
SELECT MOD(10, 3);
-- 結果: 1
-
CEIL()
: 引数以上の最小の整数を返します。
SELECT CEIL(3.14);
-- 結果: 4
-
FLOOR()
: 引数以下の最大の整数を返します。
SELECT FLOOR(3.14);
-- 結果: 3
-
RAND()
: 0以上1未満のランダムな浮動小数点数を生成します。
SELECT RAND();
-- 結果: 0.764257
文字列関数
文字列関数は、文字列データの操作や変換に使用されます。以下に一部の文字列関数とその使用例を示します。
-
CONCAT()
: 文字列を連結します。
SELECT CONCAT('Hello', 'World');
-- 結果: HelloWorld
-
LENGTH()
: 文字列の長さを返します。
SELECT LENGTH('Hello');
-- 結果: 5
-
SUBSTRING()
: 文字列の一部を抽出します。
SELECT SUBSTRING('HelloWorld', 6, 5);
-- 結果: World
-
SUBSTR()
: 文字列の一部を抽出します。
SELECT SUBSTR('Hello, World!', 8, 5);
-- 結果: World
-
REPLACE()
: 文字列内の一部の文字列を別の文字列で置換します。
SELECT REPLACE('Hello, World!', 'World', 'Universe');
-- 結果: Hello, Universe!
-
UPPER()
: 文字列を大文字に変換します。
SELECT UPPER('hello');
-- 結果: HELLO
-
LOWER()
: 文字列を小文字に変換します。
SELECT LOWER('WORLD');
-- 結果: world
日付関数
日付関数は、日付や時間データの操作や計算に使用されます。以下に一部の日付関数とその使用例を示します。
-
CURRENT_DATE()
: 現在の日付を返します。
SELECT CURRENT_DATE();
-- 結果: 2023-07-04
-
CURRENT_TIME()
: 現在の時刻を返します。
SELECT CURRENT_TIME();
-- 結果: 12:34:56
-
CURRENT_TIMESTAMP()
: 現在の日付と時刻を返します。
SELECT CURRENT_TIMESTAMP;
-- 結果: 2023-07-04 12:34:56
-
DATE()
: 日付部分のみを抽出します。
SELECT DATE('2023-07-04 12:34:56');
-- 結果: 2023-07-04
-
DATE_ADD()
: 日付に指定された期間を追加します。
SELECT DATE_ADD('2023-07-04', INTERVAL 1 DAY);
-- 結果: 2023-07-05
-
DATEDIFF()
: 2つの日付の差を返します。
SELECT DATEDIFF('2023-07-04', '2023-06-30');
-- 結果: 4
-
DATE_PART()
: 日付や時間から特定の要素の値を抽出します。
SELECT DATE_PART('hour', '12:34:56');
-- 結果: 12
-
EXTRACT()
: 日付や時間から特定の要素を抽出します。
SELECT EXTRACT(YEAR FROM '2023-07-04');
-- 結果: 2023
変換関数
変換関数は、データの型を変換したり、データのフォーマットを変更したりするために使用されます。以下に一部の変換関数とその使用例を示します。
-
CAST()
: データ型を変換します。
SELECT CAST('10' AS INT);
-- 結果: 10
-
TO_CHAR()
: 日付や数値を文字列に変換します。
SELECT TO_CHAR(123.45, '999D99');
-- 結果: 123.45
-
TO_DATE()
: 文字列を日付型に変換します。
SELECT TO_DATE('2023-07-04', 'YYYY-MM-DD');
-- 結果: 2023-07-04
集約関数
集約関数は、データのグループ化や集計に使用されます。以下に一部の集約関数とその使用例を示します。
-
COUNT()
: 行数をカウントします。
SELECT COUNT(*) FROM Orders;
-- 結果: 行数の合計
-
SUM()
: 数値の合計を計算します。
SELECT SUM(Quantity) FROM OrderDetails;
-- 結果: 数値の合計
-
AVG()
: 数値の平均値を計算します。
SELECT AVG(Price) FROM Products;
-- 結果: 数値の平均値
Discussion