
どうしても分からないので教えてください。
先人の書いたphpの記述を解析しています。
postgreSQLとやり取りしている部分に、次のようなselect文の記述があります。
select lpad(seq_no,shiyo_keta,'0'),seq_min,seq_max from seqno_info where seq_key='YAMATODENPYO';
実行すると次のようなエラーがでます。
ERROR: 関数lpad(bigint, smallint, unknown)は存在しません
茵
1: select lpad(seq_no,shiyo_keta,'0'),seq_min,seq_max from seqn...
(lpadのあたりに印が付いていましたが、ここではずれるので消してあります。)
HINT: 指定名称、指定引数型に合う関数がありません。明示的な型キャストが必要かも しれません
テーブルの型は次のようになっています。
\d seqno_info
Table "public.seqno_info"
Column | Type | Modifiers
------------+----------+-----------
seq_key | text | not null
seq_no | bigint |
seq_min | bigint |
seq_max | bigint |
shiyo_keta | smallint |
以下がそれぞれに入っているデータです。
select seq_no from seqno_info;
seq_no
--------
999
(1 row)
select shiyo_keta from seqno_info;
shiyo_keta
------------
3
(1 row)
調べても有力な情報が見当たらず困っています。
どなたか、ご教示ください。
No.1ベストアンサー
- 回答日時:
postgreSQLのLPAD関数は引数の型が
文字列,数値,不定 となっています。
seq_noが数値なので、文字型でなければ
いけないLPADの第1引数に指定すれば、
当然ですが、掲題のようなエラーになります。
関数の意味としては前ゼロを付けて、
shiyo_ketaの示す長さでseq_noを表現
したいのではないかと思います。
lpad()の代わりに、以下の方法を使って
見てください。
to_char(seq_no,repeat('0',shiyo_keta))
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) MAXで0が出力される 1 2022/03/31 21:43
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Oracle SQL update方法 2 2022/06/22 14:07
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- PHP PHPでMysqlにデータがあるかどうか判別したい 1 2023/03/02 11:48
- PostgreSQL 列が存在しないと言われる 2 2023/02/10 18:33
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLServerで文字列の末尾からあ...
-
Oracleのデータ型、NUMBERについて
-
データの先頭文字の置換
-
文字列を time 型に変換するには。
-
select条件で文字列項目...
-
MS SQL Server のselectで金額...
-
外部参照してるキーを主キーに...
-
差し込み後、元データを変更し...
-
SQLで特定の項目の重複のみを排...
-
フィルターかけた後、重複を除...
-
Outlook 送受信エラー
-
select文のwhere句に配列を入れ...
-
Access:クエリーにて集計後に...
-
SELECT 文 GROUP での1件目を...
-
エクセルの関数について教えて...
-
エクセルで最後の文字だけ置き...
-
VIEWの元のテーブルのindexって...
-
SQL Left Join で重複を排除す...
-
for whichの使い方
-
日本語のエイリアスは" "で囲...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLServerで文字列の末尾からあ...
-
Oracleのデータ型、NUMBERについて
-
データの先頭文字の置換
-
select文の書き方で分からない...
-
数値フィールドのワイルドカー...
-
文字列を time 型に変換するには。
-
文字列からアルファベットだけ...
-
文字列をsplitするSQL文を教え...
-
数値が定期的にあらわれる文字...
-
あいまい検索で数字から始まるもの
-
PostgreSQLのvarcharとtext
-
T-SQL ユーザ定義関数 指定し...
-
MS SQL Server のselectで金額...
-
VIEWから読むと桁落ちするんです
-
ACCESS Viewでユーザー定義関数...
-
表示形式の指定方法について
-
SQL文 合計値を出力する
-
v$sysstatの値がオーバーフロー
-
select条件で文字列項目...
-
VBA 3重ループ 独学勉強中
おすすめ情報