sql >> データベース >  >> RDS >> PostgreSQL

テーブル行のすべての結果を連結するにはどうすればよいですか?

    速くて汚い:

    SELECT t::text FROM tbl t WHERE id = 1;
    
    • t テーブルのエイリアスであり、厳密には必要ありません。元のテーブル名も使用できます。ただし、同じ名前の列がある場合は、それが優先されます。

    • したがって、t テーブルの行タイプを表し、出力時にテキスト表現に自動的に強制変換されます。
      makeに明示的なキャストを追加しました text 内部的にも-何かをしたい場合は...
      t::text SQL標準のcast (t AS text)のPostgresの短い表記です。 、これも使用できます。 マニュアルの詳細

    • 行タイプを示す(単一の!)先頭と末尾の括弧を削除することをお勧めします:

      SELECT right(left(t::text, -1), -1))
      FROM   tbl AS t
      WHERE  id = 1;
      
    • 「ダーティ」、Postgresの行表記を取得するため、区切り文字はたまたま要求したカンマだけですが、必要に応じて一部の値もエスケープまたは二重引用符で囲まれます。




    1. OracleDatabaseでのPL/SQLサブルーチンの呼び出し表記

    2. INSERTステートメントがFOREIGNKEY制約と競合しました

    3. 両方が同じスキーマを持っている場合、Mysqlで2つのデータベースを1つにマージできますか?

    4. 名前が母音で始まり、母音で終わるかどうかを確認するSQLクエリ