• 締切済み

Oracle SQLのSUBSTR関数について

今授業でSUBSTR関数について習ったのですがイマイチ使い道、用途がわかりません。 お手数おかけしますがどう言った場合この巻数を用いるのかを教えていただきたいです。 よろしくお願いします。

  • Oracle
  • 回答数1
  • ありがとう数0

みんなの回答

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

使い道・用途が明確に決められるものではありません。 あくまで、指定した文字列を、指定した分抜き出してくる関数。 なので、「なんか、この文字列のここからここを抜き出したいなー」ってパターンに遭遇した時に使いましょう。 「あー。この文字列(データ)は無いんだよなー。でも、こっちの文字列(データ)をSUBSTRすりゃいいかなー。」 などの時に使ったりしますが、まぁ、授業でどう習ったかもわかりませんので、教科書持って先生に聞きに行くのが一番手っ取り早いのでは。

関連するQ&A

  • PHPでのsubstr関数について

    PHPで、3問ほど質問です。 問1 PHPでプログラムを作成していて、思った結果が出てこないので、変数やら配列やらの 中身を表示させつつ、原因らしきものを突き止めました。 substr関数 です。 手元のプチリファレンスには、 substr(元の文字列,抽出開始位置,抽出する文字数) のようなことが書いてあるのですが、 抽出開始位置 ではなく、抽出を開始したい手前の位置 ではないのかと思いました。 というのも、 echo substr("abc",0,1); は、a が表示されますし、 echo substr("abc",3,1); は、何も表示されないからです。 というわけで、 substr(元の文字列,抽出を開始したい手前の位置,抽出する文字数) でいいのでしょうか? ○文字目から数えて、△文字分としたときにずれて表示されるので、ヘンだな~と 思っているのですが…。 問2 DOSプロンプト経由で、PEARをインストールしてみました。 (自分のパソコンです。XAMPPを使用しています) 最終的にinstall ok と表示されましたが、Warnning というメッセージがちらほらと。 大丈夫なんでしょうか? ただ、PEARの機能は使えましたが…。 問3 値を送る・返す関数ではなく、PHPで、サブルーチンというか、VBやVBAでいえば、Call文で 呼んでくるような、文の書き方を教えてください。 sub_keisan(); function sub_keisan(){ } のような引数なしの関数の書き方でいいのでしょうか?

    • ベストアンサー
    • PHP
  • なぜかcrypt,substr等の関数が働かない

    プログラムをチェックのため以下のコードを書いたのですが、 結果を見ると関数が機能していません。 if(crypt($input,substr($master,$salt,2)) ){&Error('Check',"crypt($input,substr($master,$salt,2)) ");} 表示結果: Check crypt(kakunin,substr(2y.e123ltUAK.,0,2)) $input,$masterは正常に表示できています。 何が悪いのでしょうか。

  • SUBSTR関数の結果が予想と異なる

    こんにちは。 現在Oracle8.1.7.4でSUBSTR関数を使っているのですが、 私の考えだと、下のSQLを実行すると、'123456'が戻ると思っていたのですが、 '012345'が戻ってきますこれはどういうことでしょうか? SELECT SUBSTR(TO_CHAR('1234567','00000000'),2,6) FROM DUAL; SUBSTR(TO_CHAR('12 ------------------ 012345 と表示されてしまいます。 これを、 SELECT SUBSTR(TO_CHAR('1234567','00000000'),3,6) FROM DUAL; に変更すると、 SUBSTR(TO_CHAR('12 ------------------ 123456 という欲しい答えが得られます。 これはどういうことなんでしょうか? 全然わかりません。 どなたか分かる方がいらっしゃいましたら、ご回答願います。 よろしくお願いいたします。

  • substrとBASICのMID

    perlで substr関数を使って驚いたのですが、 my $a = "abcdefg"; my $b = substr($a, 0, 1, ''); print $a, "\n"; print $b . "\n"; で、$bがaだとは分かるのですが、$aが bcdefg と無くなっています。正しいと思いますが、 私自身文字列の取り出しでてっきり abcdefgのままだと思っていたので驚きでした。 BASICでいう MID関数と同じような働きのPerl関数は あるのでしょうか?モジュールでも結構です。

    • ベストアンサー
    • Perl
  • SUZUKA substr関数に関する質問

    SUZUKAを使ってイベントまでの日数をカウントダウンするコンテンツを作っています actionscriptは以下のようになっていて、event_dayから各位の数字を抜き出して、フレームを進めるというものですがsubstr関数が機能しません。Number関数は機能します。event_dayをダイナミックテキストで出力させたらうまくいきました。デジタルで表示させたいのでわれか分かる方がいましたら教えてください。 this.onEnterFrame = function() { //Date オブジェクトを生成 date_obj=new Date(); //今日の年月日を取得 today_year=date_obj.getFullYear(); today_month=date_obj.getMonth(); today_date=date_obj.getDate(); //イベントまでの協定世界時をミリ秒で取得 eventUTC=Date.UTC(2008,11-1,29); //現在までの協定世界時をミリ秒で取得 todayUTC=Date.UTC(today_year,today_month,today_date); //イベントまでの差分を日数に直す event_day=(eventUTC-todayUTC)/1000/60/60/24; //各の抽出 num1=123; num=event_day.substr(0,1); this.hi3.gotoAndStop(Number(event_day.substr(0,1))); this.hi2.gotoAndStop(Number(event_day.substr(1,1))+1); this.hi1.gotoAndStop(Number(event_day.substring(1,2))+1); };

  • substr_count() のPerl版

    substr_count() のPerl版はありますか? substr_count() のような関数をPerlで使いたいんです。 基本的に該当文字列の出現回数さえカウントできればいいんです。 誰か教えてください。

    • ベストアンサー
    • Perl
  • PHPのsubstr関数をC++とObjective-C++に置き換え

    PHPのsubstr関数をC++とObjective-C++に置き換える方法 ・PHP $s = "abcdefg"; $t = substr($s, 3, 2); というPHPのソースから C++と Objective-C++に変更したいのですが どう記述すればよいのでしょうか? ・C++ char s[] = "abcdefg"; ??? ・Objective-C++ iOSは3.2です。 NSString *s = @"abcdefg"; ???

    • ベストアンサー
    • Mac
  • substrで一部を表示。

    substrで内容の一部だけを表示したいのですが、うまく出来ません。 一部だけを表示したいデータは「$sub」に格納されています。 $sub2 = substr($sub,0,20); これでもちろんですが途中までの表示になります。 でも、これだと入力ミスのように切れてしまいますよね。 そこで、続きがあるよと言う意味で「...」を語尾につけたいと思ってます。 でも、これがうまく出来ません。 「もし(上の書き方の場合)20文字以上ならsubstrを使って一部表示+...」「じゃ無かったら普通に表示」としたいのですが、どのように書いたらよいでしょうか? 出来るようでしたらそのままずばりの回答をお待ちしています!!

    • ベストアンサー
    • Perl
  • 文字列取得 substrではできません。

    1バイト2バイト混在文字列を substrで取得すると、2バイト文字が半分になるため最終文字が文字化けします。 1、2バイト混在文字をうまく取得できる関数はありますか?

    • ベストアンサー
    • PHP
  • substrの文字列の境界の動作について

    perl5.8を使っています。substrの動作について、以下の動作はperlの仕様どおりでしょうか? 以前、どこかのソースで#--1や #--2の場合はundefとなる?のを見た記憶があるのですが、文字列の境界の動作について理解していないのでよろしくお願いいたします。 $|=1; use strict; use Data::Dumper; my $str = "0123456789A"; print Dumper( substr($str, 10, 1) ); # $VAR1 = 'A'; print Dumper( substr($str, 11) ); # $VAR1 = ''; # --1 print Dumper( substr($str, 12) ); # substr outside of string at test.pl line ...  # --2 exit;

    • ベストアンサー
    • Perl