Oracle

ストアドプロシージャ(PL/SQL)で区切り文字

PL/SQL や Transact-SQL は、データベースサーバ上でプログラムを実行できる機能として理解していましたが、今まで使用したことはありませんでした。

これまでは、SQL Server, Oracle, MySQL, PostgreSQL といろいろなデータベース(DB)は使ってきましたが、負荷の高いクエリでそんなに悩むことがなかったからでしょうか。

大型の業務系システムや、履歴データなどを集計するバッチ処理などでは使われる機会が多そうですね。

今回は初めて Oracle の PL/SQL を使ってプログラムを書く機会があったのですが、一般的なプログラム言語と違って便利な関数が少ないのは仕方ないところです。
(メインはデータベースの操作ですからね)

その中でも、見つけれなかった関数は、とある区切り文字でセパレートされた文字列を区切り文字単位で抜き出すもの。例えばこんな文字列です。

PL/SQL には、ある指定した文字が何文字目に含まれているかを調べる INSTR という関数と、文字列を指定した部分だけ抜き出す SUBSTR という関数があるので、これらを利用してみます。

変数は declare のブロックで宣言してあるとします。また、ここでのプログラムの都合上、文字列の区切り文字(デリミタ delimiter)を文字列の最後にも付けます。もっといい方法があればトラックバックなどで教えて下さい。

どうしてもダイヤが必要な場合

時間を短縮したい。お店屋さんの生産枠を増やしたい。など、ゲームを進めるうえで、どうしても少しだけダイヤを課金したくなる時ってありますよね。

そんな時は、楽天市場で「itunesカード」を購入すると楽天ポイントの還元があってお得です。

iOS(iPhone)の人に限られてしまいますが、初回購入時に 500 円オフのキャンペーンをしていたり、楽天ポイントも最大で 16 倍とものすごくお得です。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

App Store & iTunes ギフトカード(3,000円)
価格:3000円(税込、送料無料) (2020/5/24時点)