2013-08-21 5 views
1

Excel에서 한 테이블의 열을 복사하거나 다른 db의 테이블에서 열을 붙여 붙여 많은 쿼리를 실행했습니다. 유일한 문제는 varchar 필드 인 경우 쉼표를 추가해야하므로 따옴표를 사용하는 것입니다.열에서 sql 쿼리를 실행하십시오 excel

쿼리를 실행하기 위해 열을 복사하여 붙여 넣으려면 올바른 형식으로 쉽게 가져올 수있는 방법은 무엇입니까?

예 :

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

어느 데이터베이스입니까? "[데이터베이스 이름] CSV"에 대한 인터넷 검색이 전혀 도움이됩니까? – hd1

+0

Excel 또는 원하는 열을 .csv 형식으로 저장 한 다음 편집기 (예 : notepad ++)를 사용하여 따옴표를 추가 할 수 있습니다. –

답변

0

빠르게 엑셀 데이터에서 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/ 나는 쉼표를 구축 할 수있는 사용자 정의 함수를 만든

0

이 목록을 구분. 나는 .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 
+0

저는 SQL을 처음 접했습니다. 이 함수는 어떻게 사용합니까? 어디에 배치합니까? – user2683873

+0

이것은 SQL이 아닙니다. 그것은 당신이 Excel에서 실행할 것이라고 VBA 기능입니다. –

0

나의 제안 ','로 모든 탭을 (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 
0

나는 또한 "에서"절을 사용하여, 비슷한 일을한다.

Excel에서 복사하는 경우 연결 기능을 사용하여 먼저 다른 열에서 데이터의 서식을 지정하십시오. 셀 A2에 쉼표를 추가하려면 예 : =Concatenate(A2,","). 이것을 모든 행 아래로 복사하십시오. 그런 다음 SQL에 열을 복사하여 붙여 넣으십시오.

관련 문제