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円