Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当某些列是Text类型时,sql update from R

当某些列是Text类型时,sql update from R
EN

Stack Overflow用户
提问于 2015-10-22 05:07:46
回答 1查看 288关注 0票数 0

我正在尝试根据数据帧(Source_DataFrame1)中的数据附加一个SQL表(Target_SqlTable)。

Source_DataFrame1大约有30列,其中很少有包含大量自由文本数据的自由文本列。

在SQL Db端,这些列被定义为文本

当我尝试使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sqlSave(myconn,Source_DataFrame1,"Target_SqlTable",append=TRUE, rownames=FALSE, colnames = FALSE, safer=FALSE,  verbose = TRUE)

要使用R中的Source_DataFrame1中的此数据更新Target_SqlTable,请不要执行以下操作。

这会失败,因为这些列的类型是text,而不是默认的varchar。那么,如何通过指定自定义列类型来更新SQL中的表呢?

为了便于示例,让我们假设我有10列的dataframe,列2、4、6的类型为Text。所以问题是,当我从R更新SQL表时,如何指定这些列的类型为Text?朋友们,任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2015-10-22 09:45:29

sqlSave有一个名为typeInfo的选项,您可以在其中声明如何转换R数据类型。typeInfo采用列表形式,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
colspec <- list(character="mediumtext", double="double",
                integer="integer", logical="varchar(5)")

在本例中,mediumtextMySQL中使用的数据类型。

您还没有提到您使用的是哪种风格的SQL,因此以上只是一个示例。

然后,您可以将此列表声明为要在sqlSave中使用的数据类型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sqlSave(myconn,Source_DataFrame1,"Target_SqlTable",append=TRUE,
        rownames=FALSE, colnames = FALSE, safer=FALSE,
        verbose = TRUE, typeInfo=colspec)

有关更多详细信息,请参阅https://cran.r-project.org/web/packages/RODBC/RODBC.pdf

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33273769

复制
相关文章
用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
全栈程序员站长
2022/07/09
1.7K0
大战SQL列类型及其列属性
最近,在看一本《原则》的书籍,是写的一位美国人投资史。其中谈到和他的创业伙伴关系出现裂缝时,我们会怎样做?
小Bob来啦
2020/12/08
1.3K0
大战SQL列类型及其列属性
update set from where
两个表a、b,想使b中的memo字段值等于a表中对应id的name值 表a:id,name 1 王 2 李 3 张 表b:id,ClientName 1 2 3 (MS SQL Server)语句:update b set ClientName = a.name from a,b where a.id = b.id
乔达摩@嘿
2020/09/11
1.6K0
Spark SQL读数据库时不支持某些数据类型的问题
在大数据平台中,经常需要做数据的ETL,从传统关系型数据库RDBMS中抽取数据到HDFS中。之前开发数据湖新版本时使用Spark SQL来完成ETL的工作,但是遇到了 Spark SQL 不支持某些数据类型(比如ORACLE中的Timestamp with local Timezone)的问题。
王知无-import_bigdata
2019/12/05
2.3K0
「R」数据汇总时自动生成多列
下面的代码和数据源主要来自:https://stackoverflow.com/questions/51063842/create-multiple-columns-in-summarize,以计算分位数为例。
王诗翔呀
2020/07/03
9500
当装了dreamweaver等某些IDE时,css失效了,其中1个原因
RT,装了这个IDE后,发现以前的本地的asp页面,在本地服务器上用浏览器打开时css样式没了。。 然后查看浏览器的头发现是Content-type不对。向同事请教了下:修改下注册表就好了。 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.css HKEY_CLASSES_ROOT\.css  这两个地方的contenttype。改为 text/css即可。写个文章记录下,免得自己忘求了。
大菊观
2018/05/24
5150
from_unixtime函数类型_localtime_r函数
Unix时间戳(Unix timestamp),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
全栈程序员站长
2022/09/20
1.6K0
select from update row的实现
DTCC大会上,阿里江疑的演讲中提到一个:select from update hot row;
bisal
2019/01/29
1.5K0
SQL UPDATE 语句
SQL UPDATE 语句 Update 语句用于修改表中的数据。 语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 Person: LastName FirstName Address City Gates Bill Xuanwumen 10 Beijing Wilson Champs-Elysees 更新某一行中的一个列 我们为 lastname 是 "Wilson" 的人添加 firstname: UPDATE Person SET FirstN
子润先生
2021/07/01
2.2K0
当HashMap的键遇见自定义类型时
这是Java中经典的问题,在面试中也经常被问起.很多书提到要重载hashCode()和equals()两个方法才能实现自定义键在HashMap中的查找,但是为什么要这样以及如果不这样做会产生什么后果,好像很少有文章讲到,所以来这一篇记录下.
JavaEdge
2022/11/29
4080
Git提交时过滤某些文件
4.这个文件处理好以后,如果感觉没有作用,说明你在创建这个文件之前就已经add过了,这时执行
Arno
2019/12/06
2.9K0
Git提交时过滤某些文件
mysql多字段主键_sql改变列数据类型
整数类型:tinyint、smallint、mediumint、integer、bigint
全栈程序员站长
2022/09/28
2.5K0
mysql多字段主键_sql改变列数据类型
SQL命令 UPDATE(一)
UPDATE命令更改表中列的现有值。 可以直接更新表中的数据,也可以通过视图进行更新,或者使用括在括号中的子查询进行更新。 通过视图进行更新受制于需求和限制,如CREATE view中所述。
用户7741497
2022/05/07
2.9K0
SQL命令 INSERT OR UPDATE
INSERT或UPDATE语句是INSERT语句的扩展(它与INSERT语句非常相似):
用户7741497
2022/05/06
2.7K0
MySQL insert or update sql
MySQL 一条 sql 实现数据保存变更 insert or update ,如果没有执行insert,有就update
全栈程序员站长
2022/11/15
2.7K0
SQL基础【九、Update】
Update user set user_age=14 where user_id=6
红目香薰
2022/11/28
2460
SQL命令 UPDATE(四)
本节中的示例更新SQLUser.MyStudents表。 下面的示例创建SQLUser.MyStudents表,并用数据填充它。 因为这个示例的重复执行会积累具有重复数据的记录,所以它使用TRUNCATE TABLE在调用INSERT之前删除旧数据。 在调用UPDATE示例之前执行这个示例:
用户7741497
2022/05/07
5560
SQL命令 UPDATE(二)
数据以逻辑模式格式存储。 例如,日期存储为整数天数,时间存储为从午夜开始的秒数,%List存储为编码字符串。 大多数其他数据,如字符串和数字,不需要转换; 无论当前模式如何,它们都以相同的格式输入、更新和存储。
用户7741497
2022/05/07
1.8K0
SQL命令 UPDATE(三)
如果没有指定%NOCHECK, IRIS将使用系统范围的配置设置来确定是否执行外键引用完整性检查; 默认值是执行外键引用完整性检查。 可以在系统范围内设置此默认值,如外键引用完整性检查中所述。 要确定当前系统范围的设置,调用$SYSTEM.SQL.CurrentSettings()。
用户7741497
2022/05/07
1.6K0
点击加载更多

相似问题

SQL Update from a Select

22

SQL update from值参考

122

当所有其他列匹配时,sql和某些列

11

表具有"Text“类型列时的SQL查询速度

30

当某些列是时间戳时,如何插入值?

43
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文