1

Excel のあるテーブルまたは別のデータベースのテーブルから列をコピーして貼り付けることで、多くのクエリを実行してきました。これに関する唯一の問題は、カンマを追加する必要があり、varchar フィールドの場合は引用符も追加する必要があることです。

列をコピーして貼り付けてクエリを実行したい場合、正しい形式で取得する簡単な方法は何ですか?

元:

 select * from table1 where columnName in ('row one',
'row two',
'row three',
'row four',
'row five')
4

4 に答える 4

1

Excel データから SQL ステートメントをすばやく生成したい場合は、次のことをお勧めします。

空のセルに次の式を書きます。

="insert into table values('" &B3 &"','" & C3 & "','"&D3&"');" 

ここで、B3、C3、D3 はテーブル データを参照します。

新しいセルは、正しい値を持つ SQL 文字列になります。

ソース: http://chandoo.org/wp/2008/09/22/sql-insert-update-statements-from-csv-files/

于 2013-08-21T16:53:52.397 に答える
0

コンマ区切りリストを作成するためのユーザー定義関数を作成しました。私は.xlaファイルを持っているので、いつでも利用できます。

基本的に、データの 1 列を選択し、選択した任意の区切り文字 (デフォルトではカンマ) を使用してリストを作成し、引用符を使用するかどうかを指定できます (数値ではこれらをオフにします)。

Function CommaList(DataRange As Range, Optional Seperator As String = ",", Optional Quotes As Boolean = True) As String
    Dim iCellNum As Integer
    Dim sTemp As String

    If DataRange.Columns.Count > 1 Then
        CommaList = "Select a Single Column"
        Exit Function
    End If

    For iCellNum = 1 To DataRange.Cells.Count
        If Quotes Then
            sTemp = sTemp + "'" + DataRange.Cells(iCellNum, 1) + "'"
        Else
            sTemp = sTemp + DataRange.Cells(iCellNum, 1)
        End If
        If iCellNum < DataRange.Cells.Count Then
            sTemp = sTemp + Seperator
        End If
    Next iCellNum

    CommaList = sTemp

End Function
于 2013-08-21T17:03:58.170 に答える