select 表示

  select 演算



Oracle では以下のように記述します

  
select 1 + 2 from dual
  



  NULL が含まれる列を扱う関数



  
select 氏名,
	給与+ nvl(手当,0) as 支給額 
 from 社員マスタ
  

  
select 氏名,
	給与+ coalesce(手当,0) as 支給額 
 from 社員マスタ
  

↓その他( Oracle ドキュメントへのリンク )
nvl2



  Case

  
select 氏名,所属,
	case
	when 所属 = '0001' then 'A'
	when 所属 = '0002' then 'B'
	else 'X'
	end as 所属分類
 from 社員マスタ
  

  
select 氏名,所属,
	decode(所属,
	'0001','A',
	'0002','B',
	'X'
	) as 所属分類
 from 社員マスタ
  



  部分文字列

  
select 氏名
	,substr(氏名,2,1) as "2文字目"
 from 社員テーブル 
 where
	substr(氏名,2,1) = '田'
  

右から文字列を取得する場合は以下のように記述します

  
select 氏名,length(氏名) as 長さ
	,substr(氏名,length(氏名)-2+1,2) as 右から二文字
 from 社員マスタ
  

文字列の長さ

  
select 氏名
	,length(氏名) as 長さ1
	,lengthb(氏名) as 長さ2
 from 社員マスタ
  



  連結

  
select
	性別 || ',' || 給与 
	,社員コード || ',' || 氏名
 from 社員マスタ
  

Oracle のこの能力は、他の RDBMS に比べて強力( 同様の機能を他で試すと、文法やメモリ的に破綻しました )
なので、以下のような事もできます

sqlplus による CSVファイル作成



  文字列日付 -> 日付型

  
select
	sysdate
	,cast('2000/01/01' as date) + 100
	,to_date('2000/01/01','YYYY/MM/DD') + 100
	,to_date('20000101','YYYYMMDD') + 100
 from dual
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ