我一直在運行很多查詢,通過複製和粘貼excel中的一個表中的列或從另一個數據庫中的表中運行。唯一的問題是,如果它是一個varchar字段,則需要添加逗號,引號也是如此。從excel的列上運行sql查詢
如果我想複製並粘貼一列來運行查詢,以正確的格式獲取它的簡單方法是什麼?
例如:
select * from table1 where columnName in ('row one',
'row two',
'row three',
'row four',
'row five')
我一直在運行很多查詢,通過複製和粘貼excel中的一個表中的列或從另一個數據庫中的表中運行。唯一的問題是,如果它是一個varchar字段,則需要添加逗號,引號也是如此。從excel的列上運行sql查詢
如果我想複製並粘貼一列來運行查詢,以正確的格式獲取它的簡單方法是什麼?
例如:
select * from table1 where columnName in ('row one',
'row two',
'row three',
'row four',
'row five')
如果你正在尋找快速生成從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/
我創建了一個用戶定義的函數構建逗號分隔的列表。我有一個.xla文件,以便我可以隨時使用。
基本上,它允許我選擇一列數據,並創建一個與我選擇的任何分隔符(逗號作爲默認值)的列表,並允許我指定是否應使用引號(將這些數字值關閉)。
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
我對SQL很陌生。我如何使用這個功能,我在哪裏放置它? – user2683873
這不是SQL。這是一個vba函數,你可以在excel中運行。 –
我的建議涉及使用替換()函數將所有選項卡(CHAR(9))到 '' 然後改變所有的 '換行'(CHAR(13))到轉換 '' 。你的結果是那麼「Commafied,並引述」
Declare @String Varchar(max)
set @string =
'row one
row two
row three
row four'
set @string = '''' + replace (replace(@string, Char(9) ,''' , '''),Char(13) ,''' , ''')+ ''''
print @string
這使得結果「看起來」漂亮:
set @string = replace (replace (replace(@string, Char(9) ,''' , '''),Char(13) ,''' , '''), Char(10), '')
print @string
我做同樣的事情,也使用「的」條款。
如果您從excel複製,請使用concatenate函數首先在另一列中格式化數據。 所以爲單元格A2添加逗號,例如,=Concatenate(A2,",")
。將所有行復制下來。然後複製並粘貼在SQL等colum
哪個數據庫?谷歌搜索「[數據庫名稱] CSV」有幫助嗎? – hd1
您可以保存您的excel或只需要.csv格式的列,然後您可以使用任何編輯器(例如記事本++)添加引號 –