SQL点滴32—Excel中CONCATENATE函数生成SQL语句

原文:SQL点滴32—Excel中CONCATENATE函数生成SQL语句

当拿到一个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','小四');

 

时间: 2024-12-01 21:22:55

SQL点滴32—Excel中CONCATENATE函数生成SQL语句的相关文章

SQL点滴20—T-SQL中的排名函数

原文:SQL点滴20-T-SQL中的排名函数   提到排名函数我们首先可能想到的是order by,这个是排序,不是排名,排名需要在前面加个名次序号的,order by是没有这个功能的.还可能会想到identity(1,1),它也给了一个序号,但是不能保证给出的序号是连续升序的.除非能够保证所有的Insert语句都能够正确成功地完成,并且没有删除操作,实际的使用中大多数的表都不能保证这样. 好在SQL Server中提供了一些排名函数来辅助实现这些功能.排名函数按照需要的顺序对数据进行排名,并提

sql点滴42—mysql中的时间转换

原文:sql点滴42-mysql中的时间转换 UNIX时间戳转换为日期用函数: FROM_UNIXTIME()   select FROM_UNIXTIME(1156219870);   日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP()   Select UNIX_TIMESTAMP('2006-11-04 12:23:00′);   例:mysql查询当天的记录数:   $sql="select * from message Where DATE_FORMAT(FROM_UN

sql点滴37—mysql中的错误Data too long for column '' at row 1

原文:sql点滴37-mysql中的错误Data too long for column '' at row 1   1.MYSQL服务 我的电脑--(右键)管理--服务与应用程序--服务--MYSQL--开启(停止.重启动)   2.命令行方式 Windows 1.点击"开始"->"运行"(快捷键Win+R). 2.启动:输入 net stop mysql 3.停止:输入 net start mysql 提示* Redhat Linux 也支持service

SQL点滴18—SqlServer中的merge操作,相当地风骚

原文:SQL点滴18-SqlServer中的merge操作,相当地风骚 今天在一个存储过程中看见了merge这个关键字,第一个想法是,这个是配置管理中的概念吗,把相邻两次的更改合并到一起.后来在technet上搜索发现别有洞天,原来是另外一个sql关键字,t-sql的语法还是相当地丰富的.本篇是一篇学习笔记,没有什么新意,这里给出technet上的地址连接供大家参考权威:http://technet.microsoft.com/zh-cn/library/bb510625.aspx,这里具体的语

SQL点滴19—T-SQL中的透视和逆透视

原文:SQL点滴19-T-SQL中的透视和逆透视   透视 今天抽一点时间来看看透视和逆透视语句,简单的说就是行列转换.假设一个销售表中存放着产品号,产品折扣,产品价格三个列,每一种产品号可能有多种折扣,每一种折扣只对应一个产品价格.下面贴出建表语句和插入数据语句. 1 create table SalesOrderDetail( 2 ProductID int /*unique多谢wuu00的提醒*/, 3 UnitPriceDiscount float, 4 ProductPrice flo

SQL点滴23—T-SQL中的除法

原文:SQL点滴23-T-SQL中的除法 在T-SQL中没有除法运算,但是在T-SQL中可以实现类似除法的操作Divide.一般除法操作的结果一个列来自于被除关系表,剩下的来自除关系表.这里举一个例子来说明.假设如下有三个表:客户Customers,销售人员Employees,订单Orders,查询返回一些客户,要求这些客户和所有美国雇员都至少有一次交易记录.来看下面一个语句: select custid from Sales.Customers as Cwhere not exists(sel

SQL点滴21—几个有点偏的语句

原文:SQL点滴21-几个有点偏的语句 SQL语句是一种集合操作,就是批量操作,它的速度要比其他的语言快,所以在设计的时候很多的逻辑都会放在sql语句或者存储过程中来实现,这个是一种设计思想.但是今天我们来讨论另外一个话题.Sql页提供了丰富的函数供我们使用,还有很多操作有意想不到的结果,今天这个随笔来看看一些不常见到的sql语句.这些语句不像普通的增删查那样平白,它的奇妙之处有时候让人另眼相看. 1.  假设我想把Person.Contact表中所有人的名字用逗号连接起来,串成一个字符串,可能

sql server根据表中数据生成insert语句

几个收藏的根据数据库生成Insert语句的存储过程[修正版] -- ======================================================--根据表中数据生成insert语句的存储过程--建立存储过程,执行spGenInsertSQL 表名--感谢playyuer----感谢szyicol-- ======================================================CREATE proc [dbo].[spGenInser

SQL Server应用程序中的高级SQL注入

server|程序|高级 介绍: SQL是一种用于关系数据库的结构化查询语言.它分为许多种,但大多数都松散地基于美国国家标准化组织最新的标准SQL-92.典型的执行语句是query,它能够收集比较有达标性的记录并返回一个单一的结果集.SQL语言可以修改数据库结构(数据定义语言)和操作数据库内容(数据操作语言).在这份文档中,我们将特别讨论SQLSERVER所使用的Transact-SQL语言. 当一个攻击者能够通过往query中插入一系列的sql语句来操作数据写入到应用程序中去,我们管这种方法定