- ベストアンサー
postgresql substrでエラーが発生する問題
- postgresql8.4でsubstrを使う際にエラーが発生します。詳細な解決策を教えてください。
- substr(bag,0.2)がエラーになり、substr(integer(bag),0,2)もシンタックスエラーが発生します。
- SQLの経験が少なく、困っています。postgresql8.4のsubstrの正しい使い方を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ANo.3ですが、参考のURLを書き忘れていました。 http://www.sql-reference.com/string/substring.html
その他の回答 (3)
- samtomsan
- ベストアンサー率55% (1060/1897)
substrを使用して何をしようとしているのかが分かりませんが、下記などの説明を読んで見てください。 SUBSTRの定義は SUBSTR(string, start[, length]) SUBSTR関数は string で示す文字列の start から length 文字分文字列を取得します.ここで start の先頭の位置は1から始まります.また,length は省略可能です.省略した場合は文字列の最後まで取得します. SQLサンプル SUBSTR関数を使用して文字列の一部を取得する例を以下に示します. SELECT SUBSTR('スヌーピー', 2, 2) AS 結果 結果 ヌー 従って > function substr(integer, integer, integer) does not exist 第一引数が integer の関数は無いよとエラー表示されているわけです。
補足
ご回答有難う御座います。 開始位置は0から始まると思っていました。 有難う御座います。
- nora1962
- ベストアンサー率60% (431/717)
> select > type_cd, > brand_cd, > brand_name > from bags bag > inner join type t on substr(bag,0.2) = t.type_cd そもそも何をやりたいのでしょうか?「substr(bag,0.2)」の「bag」は「bags」の項目ですか? エラーメッセージは第一引数がInteger項目に対してsubstrという関数はないというものです。 確か、PostgreSQLの部分文字列関数はsubstringだったはずでし。
補足
ご回答有難う御座います。 ごめんなさい。 brand_cd が bagです
- 原沢 信道(@nharasawa)
- ベストアンサー率53% (90/168)
bagはテーブルbagsの別名ですので、substrの最初にテーブル名を設定する事はできません。 尚、2番目の数値は先頭位置は1ですので、0は多分正しく動かないと思います。
補足
ご回答有難う御座います。 すみません記述ミスです。 bagはbrand_cdです。
補足
有難う御座います。 select substr($a,1,1) from sample と使用する事は可能ですが、 JOINの条件文に使うとエラーとなるようです。