• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:postgresql substrでエラー)

postgresql substrでエラーが発生する問題

このQ&Aのポイント
  • postgresql8.4でsubstrを使う際にエラーが発生します。詳細な解決策を教えてください。
  • substr(bag,0.2)がエラーになり、substr(integer(bag),0,2)もシンタックスエラーが発生します。
  • SQLの経験が少なく、困っています。postgresql8.4のsubstrの正しい使い方を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.4

ANo.3ですが、参考のURLを書き忘れていました。 http://www.sql-reference.com/string/substring.html

prr4e
質問者

補足

有難う御座います。 select substr($a,1,1) from sample と使用する事は可能ですが、 JOINの条件文に使うとエラーとなるようです。

その他の回答 (3)

  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.3

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 の関数は無いよとエラー表示されているわけです。

prr4e
質問者

補足

ご回答有難う御座います。 開始位置は0から始まると思っていました。 有難う御座います。

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

> 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だったはずでし。

prr4e
質問者

補足

ご回答有難う御座います。 ごめんなさい。 brand_cd が bagです

回答No.1

bagはテーブルbagsの別名ですので、substrの最初にテーブル名を設定する事はできません。 尚、2番目の数値は先頭位置は1ですので、0は多分正しく動かないと思います。

prr4e
質問者

補足

ご回答有難う御座います。 すみません記述ミスです。 bagはbrand_cdです。

関連するQ&A