Go の SQL パッケージでのアドホック クエリの探索
ドキュメントでは、SQL パッケージを使用して Go でデータをクエリするには、列数とコンパイル時に型が作成されるため、これは厳密には当てはまりません。 sql.Rows タイプは、柔軟でアドホックな SQL クエリのソリューションを提供します。
動的列メタデータ取得
sql.Rows の Columns メソッドは、結果の列名。これにより、任意のクエリによって返される列の数を動的に決定できます。
未知のデータ型のスキャン
Scan メソッドは、未知の型の値をスキャンして、生のバイト スライス(*[]byte)またはインターフェイス{}値。これにより、型を事前に定義せずに列データを取得できます。
アドホック クエリの操作
これらの手法を組み合わせると、アドホック クエリを実行してデータを取得できます。インターフェース値のスライスに変換します:
<code class="go">columnNames, err := rows.Columns() if err != nil { // Handle error } columns := make([]interface{}, len(columnNames)) columnPointers := make([]interface{}, len(columnNames)) for i := 0; i < len(columnNames); i++ { columnPointers[i] = &columns[i] } if err := rows.Scan(columnPointers...); err != nil { // Handle error }</code>
この後、列スライスには、結果行のすべての列のデコードされた値が含まれます。 Columns メソッドと Scan メソッドを活用すると、Go の SQL パッケージでアドホック クエリを効果的に処理できます。
以上がGo の SQL パッケージで不明な列タイプのデータをクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。