當拿到一個Excel的時候需要將這里面的數據插入到數據庫里面,該怎么辦,除了使用SSIS數據導入之外還可以使用Excel中的CONCATENATE函數,這個有點技巧,第一次使用的時候可能會讓你有點困惑。如果我們理解這個函數的定義就不難了。
定義
CONCATENATE 函數可將最多 255 個文本字符串合並為一個文本字符串。聯接項可以是文本、數字、單元格引用或這些項的組合。例如,如果您的工作表的單元格 A1 中包含某個人的名字,單元格 B1 中包含這個人的姓氏,那么,您可以通過使用以下公式將這兩個值合並到另一個單元格中:=CONCATENATE(A1," ",B1)此示例中的第二個參數 (" ") 為空格字符。您必須將希望在結果中顯示的任意空格或標點符號指定為使用雙引號括起來的參數。
語法
CONCATENATE(text1, [text2], ...)CONCATENATE 函數語法具有下列參數(參數為:操作、事件、方法、屬性、函數或過程提供信息的值。):
Text1 必需。要連接的第一個文本項。
Text2, ... 可選。其他文本項,最多為 255 項。項與項之間必須用逗號隔開。
注釋: 您也可以使用連接符號 (&) 計算運算符代替CONCATENATE 函數來連接文本項。例如,=A1 & B1 返回相同的值為=CONCATENATE(A1, B1)
舉例
excel內容如下:
nsrbm mc gly
001 a1 小李
002 a2 小王
003 a3 小三
004 a4 小四
首先先看下面表達式:
=CONCATENATE("insert into DaoRu(nsrbm,mc,gly) values('",A2,"','",B2,"','",C2,"');")
這個首選這表達式前面有一個“=”,然后表達式名稱CONCATENATE(),最后是它的參數,這部分是最復雜的了。
第一個參數:"insert into DaoRu(nsrbm,mc,gly) values('" 這是一個字符串
第二個參數:,A2, 這是一個單元格引用
第三個參數:"','" 這是一個字符串
第四個參數:,B2, 這是一個單元格引用
第五個參數:"','" 這是一個字符串
第六個參數:,C2, 這是一個單元格引用
第七個參數:"');" 這是一個字符串
最后生成的語句如下:
insert into DaoRu(nsrbm,mc,gly) values('001','a1','小李');
insert into DaoRu(nsrbm,mc,gly) values('002','a2','小王');
insert into DaoRu(nsrbm,mc,gly) values('003','a3','小三');
insert into DaoRu(nsrbm,mc,gly) values('004','a4','小四');
=CONCATENATE("INSERT INTO item(Groupid,Itemname) VALUES('",A3,"','",B3&"-"&C3&"-"&D3,"');")
把A3,B3,C3,D3用“-”連接起來然后寫入itemname
=B3&"-"&C3&"-"&D3
把A3,B3,C3,D3用“-”連接起來生成另外一列