ITとdesign エンジニアのブログ by エンジ庭

IT業界のトレンドなどIT分野について学んだ事を書いていきます。プログラミング技術などについて現在Qiitaメインに書いてますので、そちらを参照ください。  https://qiita.com/kota_sho

SQL 関数まとめ編(SQL Server向け) ※随時更新

2019-08-28

SQLを勉強し始めて、よく目にする関数をまとめていきます。

RDBMSによって使える関数が異なりますが、SQL Server向けの関数をまとめます。

 

集計関数

 

AVG 平均を計算

SELECT AVG(販売単価) AS 平均単価
FROM Shohin

 

COUNT 行数をカウント

SELECT COUNT(販売単価) AS 単価の行数
FROM Shohin

 

MAX 最大値を得る

SELECT MAX(販売単価) AS 最も高い単価商品
FROM Shohin

 

MIN 最小値を得る

SELECT MIN(販売単価) AS 最も低い単価商品
FROM Shohin

 

SUM 合計値

SELECT MIN(売上) AS 売上合計
FROM Shohin

 

 

文字列関数

 

CHAR コードから文字に変換

CONCAT 文字列結合

SELECT CONCAT(last_name, '', full_name)
FROM Staff

 

LEN 文字列長を得る

SELECT LEN(商品名) AS 商品名文字数
FROM Shohin

 

SUBSTRING 文字列の部分抽出

SUBSTRING(切り取り文字列,  切り取り開始位置,  切り取り文字数)

SELECT SUBSTRING('あいうえお’, 2, 3)
-- いうえ

'あいうえお'の2文字目から3文字切り取る

 

 

日付関数

 

CURRENT_TIMESTAMP 現在日時を得る

SELECT CURRENT_TIMESTAMP

 

FORMAT 日付時刻の整形

SELECT FORMAT(GETDATE(), 'yyyyMMdd')

 

 

変換関数

 

CAST 型変換を行う

CAST(値  AS  変換後のデータ)

数値型 → 文字列型

SELECT CAST(100 AS VARCHAR(10))

文字列型 → 日付型

SELECT CAST('2018-01-01' AS DATE)

 

CONVERT 型変換を行う

CONVERT(変換後のデータ, 変換したい値)

SELECT CONVERT(decimal, '10.1')

 

COALESCE NULLでない最初の値を返す

COALESCE(列や式1, 列や式2・・・)

SELECT COALESCE('A', 'B', 'C')
--A
SELECT COALESCE(NULL, 'B', 'C')
--B

COALESCE(列や式,  NULLの代替値)

SELECT COALESCE(hanbai_tanka, 0) AS 販売単価

ISNULLもNULL値の変換ができます

流れはCOALESCEと同じです。

 

REPLACE 文字列を置換

REPLACE(対象文字列,  この文字を,  これに置き換える)

SELECT REPLACE('YAMADA', 'DA', 'ZAKI')
--YAMAZAKI

 

 

算術関数

 

ABS 絶対値を取得

ABS(数値)

SELECT ABS(-50)
--50

 

ROUND 丸め処理

・ROUND(四捨五入したい数字)

・ROUND(四捨五入したい数字,  小数点第何位まで)

SELECT ROUND(10.234, 2)
--10.230

POWER べき乗

POWER(数値,  〜乗)

SELECT POWER(3, 4)
--81

 

 

分析関数

 

RANK 順位を決める

対象列,  RANK() OVER(ORDER  BY  対象列  DESC)

SELECT tanka RANK OVER (ORDER BY tanka DESC)
FROM Shohin