🙄

SQL/関数

2024/06/09に公開

このページでは、SQLの関数について記述します。

はじめに

SQL(Structured Query Language)には、データベースの操作やクエリの実行に役立つさまざまな関数があります。この記事では、SQLの主要な以下の関数について、具体的な使用例を示しながら説明します。

  • 算術関数
  • 文字列関数
  • 日付関数
  • 変換関数
  • 集約関数

算術関数

算術関数は、数値データの操作や計算に使用されます。以下に一部の算術関数とその使用例を示します。

  1. ROUND(): 指定された桁数に数値を丸めます。
SELECT ROUND(3.14159, 2);
-- 結果: 3.14
  1. ABS(): 数値の絶対値を返します。
SELECT ABS(-10);
-- 結果: 10
  1. POWER(): 指定された数値の指数乗を計算します。
SELECT POWER(2, 3);
-- 結果: 8
  1. MOD(): 割り算の余りを計算します。
SELECT MOD(10, 3);
-- 結果: 1
  1. CEIL(): 引数以上の最小の整数を返します。
SELECT CEIL(3.14);
-- 結果: 4
  1. FLOOR(): 引数以下の最大の整数を返します。
SELECT FLOOR(3.14);
-- 結果: 3
  1. RAND(): 0以上1未満のランダムな浮動小数点数を生成します。
SELECT RAND();
-- 結果: 0.764257

文字列関数

文字列関数は、文字列データの操作や変換に使用されます。以下に一部の文字列関数とその使用例を示します。

  1. CONCAT(): 文字列を連結します。
SELECT CONCAT('Hello', 'World');
-- 結果: HelloWorld
  1. LENGTH(): 文字列の長さを返します。
SELECT LENGTH('Hello');
-- 結果: 5
  1. SUBSTRING(): 文字列の一部を抽出します。
SELECT SUBSTRING('HelloWorld', 6, 5);
-- 結果: World
  1. SUBSTR(): 文字列の一部を抽出します。
SELECT SUBSTR('Hello, World!', 8, 5);
-- 結果: World
  1. REPLACE(): 文字列内の一部の文字列を別の文字列で置換します。
SELECT REPLACE('Hello, World!', 'World', 'Universe');
-- 結果: Hello, Universe!
  1. UPPER(): 文字列を大文字に変換します。
SELECT UPPER('hello');
-- 結果: HELLO
  1. LOWER(): 文字列を小文字に変換します。
SELECT LOWER('WORLD');
-- 結果: world

日付関数

日付関数は、日付や時間データの操作や計算に使用されます。以下に一部の日付関数とその使用例を示します。

  1. CURRENT_DATE(): 現在の日付を返します。
SELECT CURRENT_DATE();
-- 結果: 2023-07-04
  1. CURRENT_TIME(): 現在の時刻を返します。
SELECT CURRENT_TIME();
-- 結果: 12:34:56
  1. CURRENT_TIMESTAMP(): 現在の日付と時刻を返します。
SELECT CURRENT_TIMESTAMP;
-- 結果: 2023-07-04 12:34:56
  1. DATE(): 日付部分のみを抽出します。
SELECT DATE('2023-07-04 12:34:56');
-- 結果: 2023-07-04
  1. DATE_ADD(): 日付に指定された期間を追加します。
SELECT DATE_ADD('2023-07-04', INTERVAL 1 DAY);
-- 結果: 2023-07-05
  1. DATEDIFF(): 2つの日付の差を返します。
SELECT DATEDIFF('2023-07-04', '2023-06-30');
-- 結果: 4
  1. DATE_PART(): 日付や時間から特定の要素の値を抽出します。
SELECT DATE_PART('hour', '12:34:56');
-- 結果: 12
  1. EXTRACT(): 日付や時間から特定の要素を抽出します。
SELECT EXTRACT(YEAR FROM '2023-07-04');
-- 結果: 2023

変換関数

変換関数は、データの型を変換したり、データのフォーマットを変更したりするために使用されます。以下に一部の変換関数とその使用例を示します。

  1. CAST(): データ型を変換します。
SELECT CAST('10' AS INT);
-- 結果: 10
  1. TO_CHAR(): 日付や数値を文字列に変換します。
SELECT TO_CHAR(123.45, '999D99');
-- 結果: 123.45
  1. TO_DATE(): 文字列を日付型に変換します。
SELECT TO_DATE('2023-07-04', 'YYYY-MM-DD');
-- 結果: 2023-07-04

集約関数

集約関数は、データのグループ化や集計に使用されます。以下に一部の集約関数とその使用例を示します。

  1. COUNT(): 行数をカウントします。
SELECT COUNT(*) FROM Orders;
-- 結果: 行数の合計
  1. SUM(): 数値の合計を計算します。
SELECT SUM(Quantity) FROM OrderDetails;
-- 結果: 数値の合計
  1. AVG(): 数値の平均値を計算します。
SELECT AVG(Price) FROM Products;
-- 結果: 数値の平均値

参考文献

SQL 第2版 ゼロからはじめるデータベース操作

Discussion