logo
     

メニュー
↓ SQL ↓
データ取得の基本(SELECT)

取得条件の指定(WHERE)

計算式を利用する

取得データの並べ替え
      (ORDER BY)


別名を付ける

データを集計(グループ化)する

テーブルの結合
      (INNER JOIN)


テーブルの結合
      (OUTER JOIN)


テーブルの結合
      (CROSS JOIN)


重複行の排除(DISTINCT)

副問い合わせ(サブクエリ)

相関副問い合わせ
      (相関サブクエリ)


クエリの結合

文字列値を連結する

⇒文字列の一部を取り出す

文字列を置換する

NULLを置き換える

条件によって置き換える

↓SQL Server 2012 Express↓
SQL Server 2012 Express
      インストール


SQL Server 2012 Express
      ネットワークの構成


SQL Server 2012 Express
      ログインユーザの作成


SQL Server 2012 Express
      データベースの作成


SQL Server 2012 Express
      テーブルの作成


SQL Server 2012 Express
      SQLの実行


復旧モデルとバックアップ

↓ 番外編 ↓
Windows Server 2012 評価版
      インストール


Windows Server 2012
      スタートメニュー利用方法


Windows Server 2012
      シャットダウン・再起動方法


Windows Server 2012
      サーバーマネージャ自動起動無効


Windows Server 2012
      コンピュータ名・ドメイン変更


文字列の一部を取り出す(SUBSTR, SUBSTRING)



―ORACLEの場合―
文字列値の一部を取り出すには'SUBSTR'もしくは、'SUBSTRB' を利用します。
SUBSTRは文字数単位、SUBSTRBはバイト単位で取り出すことができます。

文法:SUBSTR(対象1, <開始位置>[, <長さ>]) もしくは
   SUBSTRB(対象1, <開始位置>[, <長さ>])
※対象1は列名もしくは文字列など

開始位置の指定は1文字目(1バイト目)を1として指定します。
長さを省略した場合は、開始位置から終端までを取り出します。
また、開始位置にマイナス値を指定した場合は、終端からの位置となります。


―SQL Serverの場合―
文字列値の一部を取り出すには'SUBSTRING'を利用します。

文法:SUBSTRING(対象1, <開始位置>, <長さ>)
※対象1は列名もしくは文字列など

開始位置の指定は1文字目(1バイト目)を1として指定します。
SQL Serverでは開始位置にマイナス値を指定しても、終端からの扱いになりません。
終端を基準に開始位置を指定する場合は、LEN関数を利用して計算するか、
RIGHT関数を利用する方法を検討します。


―MySQLの場合―
文字列値の一部を取り出すには'SUBSTRING'を利用します。

文法:SUBSTRING(対象1, <開始位置>[, <長さ>]) もしくは
   SUBSTRING(対象1 FROM <開始位置> [FOR <長さ>])
※対象1は列名もしくは文字列など

開始位置の指定は1文字目(1バイト目)を1として指定します。
長さを省略した場合は、開始位置から終端までを取り出します。
MySQLでは開始位置にマイナス値を指定しても、終端からの扱いになりません。
終端を基準に開始位置を指定する場合は、LENGTH関数を利用して計算するか、
RIGHT関数を利用する方法を検討します。


―PostgreSQLの場合―
文字列値の一部を取り出すには'SUBSTR'を利用します。

文法:SUBSTR(対象1, <開始位置>[, <長さ>])
※対象1は列名もしくは文字列など

開始位置の指定は1文字目(1バイト目)を1として指定します。
長さを省略した場合は、開始位置から終端までを取り出します。
PostgreSQLでは開始位置にマイナス値を指定しても、終端からの扱いになりません。
終端を基準に開始位置を指定する場合は、LENGTH関数を利用する方法を検討します。


***例***
[社員マスタ]
社員コード 氏名 職位
001 テスト一郎 課長
002 テスト二郎 部長
003 テスト三郎 課長
004 テスト四郎 社員


[実行SQL]
SELECT
  SUBSTR(氏名, -2) AS 後方
FROM
  社員マスタ
*上記はPostgreSQLの場合は、以下のように表します
SELECT
  SUBSTR(氏名, LENGTH(氏名) - 1) AS 後方
FROM
  社員マスタ


[結果]
後方
一郎
二郎
三郎
四郎
<<PR>> ネットワークセキュリティを見直しませんか
価格:300円
現役SEが語るSEの仕事あれこれ-これから就職を希望する人へ-
価格:300円