主要内容

setoption

自定义数据库数据的导入选项

描述

例子

选择= setoption (选择varnamesOption1, OptionValue1,…,OptionN OptionValueN定制从数据库导入数据到MATLAB的导入选项®.函数返回SQLImportOptions对象。要导入数据,可以使用SQLImportOptions对象、指定的变量名以及具有相应值的导入选项。

例子

选择= setoption (选择指数Option1, OptionValue1,…,OptionN OptionValueN自定义数值索引指定的变量的导入选项。

例子

全部折叠

当从数据库表导入数值数据时,自定义导入选项。控件的导入选项SQLImportOptions对象。然后,自定义数值数据库列的导入选项。使用sqlread函数。

本例使用patients.xls电子表格,其中包含列重量.此外,该示例使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

使用Windows®身份验证创建到Microsoft SQL Server数据库的数据库连接。请指定空用户名和密码。

数据源=“MS SQL Server认证”;Conn =数据库(数据源,);

将患者信息加载到MATLAB®工作区中。

患者=可读(“patients.xls”);

创建病人数据库表采用患者信息。

表名=“病人”;sqlwrite(康涅狄格州、表、病人)

创建一个SQLImportOptions对象使用病人数据库表和databaseImportOptions函数。

opts = databaseImportOptions(conn,tablename);

属性的导入选项重量中的列。病人数据库表中。因为此列是数值类型,所以将数据类型更改为int64

varnames =“重量”;Opts = setoptions(Opts,varnames,“类型”“int64”);

导入指定列中的数值数据,并显示导入变量的摘要。摘要显示变量具有int64数据类型。

选择。SelectedVariableNames = {“重量”};Data = sqlread(conn,tablename,opts);总结(数据)
变量:权重:100×1 int64参数值:最小值111中位数143最大值202

删除病人数据库表使用执行函数。

Sqlquery = [“drop table”表名);execute(康涅狄格州,sqlquery)

关闭数据库连接。

关上(康涅狄格州)

当从数据库表导入文本数据时,自定义导入选项。控件的导入选项SQLImportOptions对象。然后,自定义文本数据库列的导入选项。使用sqlread函数。

本例使用patients.xls电子表格,其中包含第一列.此外,该示例使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

使用Windows®身份验证创建到Microsoft SQL Server数据库的数据库连接。请指定空用户名和密码。

数据源="MS SQL Server认证";Conn =数据库(数据源,"""");

将患者信息加载到MATLAB®工作区中。

患者=可读(“patients.xls”);

创建病人数据库表采用患者信息。

表名=“病人”;sqlwrite(康涅狄格州、表、病人)

创建一个SQLImportOptions对象使用病人数据库表和databaseImportOptions函数。

opts = databaseImportOptions(conn,tablename);

控件的默认导入选项SelfAssessedHealthStatus变量。

Varnames = [“姓”“SelfAssessedHealthStatus”];varOpts = getoptions(opts,varnames)
varOpts = 1x2带有属性的SQLVariableImportOptions数组:变量选项:(1)|(2)名称:'LastName' | 'SelfAssessedHealthStatus'类型:'char' | 'char' missingule: 'fill' | 'fill' FillValue: " | "访问每个变量的子属性,使用getoptions

属性的数据类型的导入选项变量来字符串.指定对象中查找变量的数值索引SelectedVariables的属性SQLImportOptions对象。中的导入选项以替换丢失的数据变量。没有名字填满值。

指数= 1;Opts = setoptions(Opts,index,“类型”“字符串”“FillValue”“无名”);

属性的文本大小写设置导入选项SelfAssessedHealthStatus变量改为大写。

varname =“SelfAssessedHealthStatus”;Opts = setoptions(Opts,varname,“TextCaseRule”“上”);

导入选定变量中的文本数据并显示前八行。导入的数据表明变量具有字符串数据类型和SelfAssessedHealthStatus变量文本为大写。

选择。SelectedVariableNames = [“姓”“SelfAssessedHealthStatus”];T = sqlread(conn,tablename,opts);头(T)
ans =8×2表LastName SelfAssessedHealthStatus  __________ ________________________ " 史密斯约翰逊“优秀”“公平”威廉姆斯“‘好’”琼斯布朗“公平”“‘好’”戴维斯”“好”“米勒威尔逊“‘好’‘好’

删除病人数据库表使用执行函数。

sqlstr =“跌落表”;Sqlquery = strcat(sqlstr,tablename);execute(康涅狄格州,sqlquery)

关闭数据库连接。

关上(康涅狄格州)

当从数据库表导入日期和时间数据时,自定义导入选项。控件的导入选项SQLImportOptions对象。然后,为包含日期和时间数据的数据库列定制导入选项。使用sqlread函数。

本例使用outages.csv文件,其中包含列OutageTimeRestorationTime.此外,该示例使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

使用Windows®身份验证创建到Microsoft SQL Server数据库的数据库连接。请指定空用户名和密码。

数据源=“MS SQL Server认证”;Conn =数据库(数据源,);

将停机信息加载到MATLAB®工作区中。

中断=可读(“outages.csv”);

创建中断数据库表使用停机信息。

表名=“中断”;sqlwrite(康涅狄格州、表、中断)

方法检索数据sqlread函数并显示前八行。的第二行RestorationTime变量包含丢失的数据。

Data = sqlread(conn,tablename);头(数据)
ans =8×6表地区OutageTime RestorationTime造成损失客户  ___________ _________________________ ______ __________ _________________________ _________________ ' 西南“2002-02-01 12:18:00.000 458.98 - 1.8202 e + 06年的2002-02-07 16:50:00.000“暴风雪”“东南”“2003-01-23 00:49:00.000 530.14 - 2.1204 e + 05”“暴风雪”“东南”“2003-02-07 21:15:00.000”289.4 - 1.4294 e + 05年“2003-02-17 08:14:00.000”“暴风雪”“西方”“2004-04-06 05:44:00.000”434.81 - 3.4037 e + 05年“2004-04-06 06:10:00.000”'设备故障' 'MidWest' '2002-03-16 06:18:00.000' 186.44 2.1275e+05 '2002-03-18 23:23:00.000' '严重风暴' 'West' '2003-06-18 02:49:00.000' 00' 2003-06-18 10:54:00.000' '攻击' 'West' '2004-06-20 14:39:00.000' 231.29 NaN '2004-06-20 19:16:00.000' '设备故障' 'West' '2002-06-06 19:28:00.000' 311.86 NaN '2002-06-07 00:51:00.000' '设备故障' '

创建一个SQLImportOptions对象使用中断数据库表和databaseImportOptions函数。

opts = databaseImportOptions(conn,tablename);

控件的默认导入选项OutageTimeRestorationTime变量。

Varnames = {“OutageTime”“RestorationTime”};varOpts = getoptions(opts,varnames)
varOpts = 1x2带有属性的SQLVariableImportOptions数组:变量选项:(1)|(2)名称:'OutageTime' | 'RestorationTime'类型:'char' | 'char' FillValue: " | "访问每个变量的子属性,使用getoptions

将指定变量的数据类型的导入选项设置为datetime.另外,设置导入选项,用当前日期和时间替换指定变量中缺失的数据。

Opts = setoptions(Opts,varnames,“类型”“datetime”“FillValue”datetime (“现在”));

导入选定变量中的日期和时间数据,并显示前八行。导入的数据显示变量具有datetime数据类型。的第二行中缺少的值RestorationTime变量用当前日期和时间填充。

选择。SelectedVariableNames = varnames;T = sqlread(conn,tablename,opts);头(T)
ans =8×2表OutageTime RestorationTime ____________________ ____________________ 01-Feb-2002 12:18:00 07-Feb-2002 16:50:00 23-Jan-2003 00:49:00 19- june -2018 15:30:14 07-Feb-2003 21:15:00 06-Apr-2004 05:44:00 06-Apr-2004 06:10:00 16-Mar-2002 06:18:00 18-Mar-2002 23:23:00 18- june -2003 02:49:00 18- june -2003 10:54:00 20- june -2004 14:39:00 20- june -2004 19:16:00 06- june -2002 19:28:00 07- june -2002 00:51:00

删除中断数据库表使用执行函数。

Sqlquery = [“drop table”表名);execute(康涅狄格州,sqlquery)

关闭数据库连接。

关上(康涅狄格州)

当从数据库表导入分类数组数据时,自定义导入选项。控件的导入选项SQLImportOptions对象。然后,为包含分类数组数据的数据库列定制导入选项。使用sqlread函数。

本例使用outages.csv文件,其中包含列地区导致.此外,该示例使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

使用Windows®身份验证创建到Microsoft SQL Server数据库的数据库连接。请指定空用户名和密码。

数据源=“MS SQL Server认证”;Conn =数据库(数据源,);

将停机信息加载到MATLAB®工作区中。

中断=可读(“outages.csv”);

创建中断数据库表使用停机信息。

表名=“中断”;sqlwrite(康涅狄格州、表、中断)

创建一个SQLImportOptions对象使用中断数据库表和databaseImportOptions函数。

opts = databaseImportOptions(conn,tablename);

控件的默认导入选项地区导致变量。

Varnames = {“地区”“原因”};varOpts = getoptions(opts,varnames)
varOpts = 1x2带有属性的SQLVariableImportOptions数组:变量选项:(1)|(2)名称:'Region' | 'Cause'类型:'char' | 'char' FillValue: " | "要访问每个变量的子属性,使用getoptions

将指定变量的数据类型的导入选项设置为分类.另外,设置导入选项,用填充值替换指定变量中缺失的数据未知的

Opts = setoptions(Opts,varnames,“类型”“分类”“FillValue”“未知”);

导入选定变量中的分类数组数据,并显示数据的摘要。导入的数据显示变量具有分类数据类型。两个变量的缺失值都用该值填充未知的

选择。SelectedVariableNames = varnames;T = sqlread(conn,tablename,opts);总结(T)
变量:地区:1468×1分类值:中西部142东北557东南389西南26西部354未知0原因:1468×1分类值:攻击294地震2能源紧急188设备故障156火灾25强风暴338雷暴201未知24风95冬季风暴145

删除中断数据库表使用执行函数。

Sqlquery = [“drop table”表名);execute(康涅狄格州,sqlquery)

关闭数据库连接。

关上(康涅狄格州)

当从数据库表导入逻辑数据时,自定义导入选项。控件的导入选项SQLImportOptions对象。然后,为包含逻辑数据的数据库列定制导入选项。使用sqlread函数。

本例使用airlinesmall_subset.xls电子表格,其中包含列取消了.此外,该示例使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

使用Windows®身份验证创建到Microsoft SQL Server数据库的数据库连接。请指定空用户名和密码。

数据源=“MS SQL Server认证”;Conn =数据库(数据源,);

在MATLAB®工作空间中加载飞行信息。

航班=可读的(“airlinesmall_subset.xlsx”);

创建航班数据库表使用航班信息。

表名=“航班”;sqlwrite(康涅狄格州,表名,航班)

创建一个SQLImportOptions对象使用航班数据库表和databaseImportOptions函数。

opts = databaseImportOptions(conn,“航班”);

控件的默认导入选项取消了变量。

varnames =“取消”;varOpts = getoptions(opts,varnames)
varOpts = SQLVariableImportOptions带有属性:变量属性:名称:'Cancelled'类型:'double' FillValue: NaN

将指定变量的数据类型的导入选项设置为逻辑.另外,设置导入选项以用填充值替换指定变量中缺失的数据真正的

Opts = setoptions(Opts,varnames,“类型”“逻辑”“FillValue”,真正的);

导入所选变量中的逻辑数据,并显示数据摘要。导入的数据显示变量具有逻辑数据类型。

选择。SelectedVariableNames = varnames;T = sqlread(conn,tablename,opts);总结(T)
变量:取消:1338×1逻辑值:True 29 False 1309

删除航班数据库表使用执行函数。

sqlquery =“DROP TABLE flights”;execute(康涅狄格州,sqlquery)

关闭数据库连接。

关上(康涅狄格州)

当从数据库表导入数据时,自定义导入选项。控件的导入选项SQLImportOptions对象。然后,自定义导入选项以省略缺失的数据。使用sqlread函数。

本例使用outages.csv文件,其中包含停机数据。此外,该示例使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

使用Windows®身份验证创建到Microsoft SQL Server数据库的数据库连接。请指定空用户名和密码。

数据源="MS SQL Server认证";Conn =数据库(数据源,"""");

将停机信息加载到MATLAB®工作区中。

中断=可读(“outages.csv”);

创建中断数据库表使用停机信息。

表名=“中断”;sqlwrite(康涅狄格州、表、中断)

创建一个SQLImportOptions对象使用中断数据库表和databaseImportOptions函数。

opts = databaseImportOptions(conn,tablename);

确定的大小中断

大小(停机)
ans =1×21468年6

中的导入选项设置为省略数据丢失的行客户变量。

varnames =“顾客”;Opts = setoptions(Opts,varnames,“MissingRule”“omitrow”);

导入数据并显示前八行。导入的数据中不包含缺失的数据客户变量。

T = sqlread(conn,tablename,opts);头(T)
ans =8×6表地区OutageTime RestorationTime造成损失客户  ___________ _________________________ ______ __________ _________________________ _________________ ' 西南“2002-02-01 12:18:00.000 458.98 - 1.8202 e + 06年的2002-02-07 16:50:00.000“暴风雪”“东南”“2003-01-23 00:49:00.000 530.14 - 2.1204 e + 05”“暴风雪”“东南”“2003-02-07 21:15:00.000”289.4 - 1.4294 e + 05年“2003-02-17 08:14:00.000”“暴风雪”“西方”“2004-04-06 05:44:00.000”434.81 - 3.4037 e + 05年“2004-04-06 06:10:00.000”'设备故障' '中西部' '2002-03-16 06:18:00.000' ' 186.44 2.1275e+05 ' '2002-03-18 23:23:00.000' '西部' '严重风暴' '2003-06-18 02:49:00.000' 00' 2003-06-18 10:54:00.000' '攻击' '东北' '2003-07-16 16:23:00.000' 239.93 49434 '2003-07-17 01:12:00.000' '火灾' '中西部' '2004-09-27 11:09:00.000' ' 286.72 66104 '2004-09-27 16:37:00.000' '设备故障' '

确定的大小T.导入数据中的行数较小,因为软件会删除数据中缺少数据的所有行客户变量。

大小(T)
ans =1×21140年6

删除中断数据库表使用执行函数。

sqlstr =“跌落表”;Sqlquery = strcat(sqlstr,tablename);execute(康涅狄格州,sqlquery)

关闭数据库连接。

关上(康涅狄格州)

输入参数

全部折叠

数据库导入选项,指定为SQLImportOptions对象。

变量名,指定为字符向量、字符向量的单元格数组、字符串标量、字符串数组或数字向量。的varnames参数中的变量VariableNames的属性SQLImportOptions用于导入数据的对象。

例子:“productname”

数据类型:|字符|字符串|细胞

索引,指定为数值向量,用于标识控件中的变量VariableNames的属性SQLImportOptions用于导入数据的对象。

例子:(1、2、3)

数据类型:

导入选项,指定为一个或多个名称-值对参数。选项指定导入选项名称的字符向量或字符串标量。用OptionValue指定导入选项的值。

例子:“FillValue”,的确,“类型”,“逻辑”将指定变量的数据类型设置为逻辑并将指定变量中缺失数据的填充值设置为真正的

例子:“名称”、“位置”将指定变量的名称更改为位置

所有的变量

您可以设置导入选项来更改缺失数据的值、变量的名称或变量的数据类型。属性指定的所有变量都适用这些导入选项varnames指数输入参数。

导入选项名称 描述 导入选项值
“FillValue” 缺失数据值

Value对于单个变量必须是标量,对于多个变量必须是单元格数组。

有效的数据类型是:

  • 所有整数类

  • 逻辑

  • 字符

  • 字符串

  • datetime

  • 失踪

数据类型取决于数据库中的变量类型。

“MissingRule” 数据缺失规则

值必须为以下之一:

  • “填满”方法指定的缺失数据值替换缺失数据“FillValue”导入选项。

  • “omitrow”—省略包含缺失数据的行。

您可以将这些值指定为字符向量或字符串标量。

设置“MissingRule”Import选项相当于使用不是空的ANSI SQL中的SQL语句。

“名字” 变量名

Value必须是单个变量的字符向量或字符串标量,或多个变量的字符向量单元格数组或字符串数组。

“类型” 数据类型

Value必须是单个变量的字符向量或字符串标量,或多个变量的字符向量单元格数组或字符串数组。

属性的有效导入选项值“类型”导入选项。中的数据类型VariableTypes的属性SQLImportOptions对象。第二列显示要在字符向量中指定的有效数据类型。若要使用有效的数据类型值,请将其括在引号中(例如,“单一”)。

变量数据类型 的有效数据类型值“类型”导入选项
  • 任何整数类

  • 任何整数类

  • 逻辑

  • 分类

未定义的浮点数,+正仅对数据类型。当将浮点数的数据类型更改为整数时,从数据库导入数据的函数将转换未定义的浮点数。例如,当您将数据类型更改为“int8”

  • 值更改为0

  • 值更改为intmin(“int8”)

  • +正值更改为intmax(“int8”)

详细信息请参见intminintmax

相同的转换适用于所有整数类。

逻辑
  • 所有整数类

  • 逻辑

  • 分类

字符字符串
  • 字符

  • 字符串

  • datetime

  • 持续时间

  • 分类

你可以更改VariableTypes财产datetime仅当数据库表中的列具有DATETIME数据类型。此外,您还可以更改VariableTypes财产持续时间仅当数据库表中的列具有时间数据类型。

datetime
  • 字符

  • 字符串

  • datetime

持续时间
  • 字符

  • 字符串

  • 持续时间

分类
  • 所有整数类

  • 字符

  • 字符串

  • 逻辑

  • 分类

文本数据类型的变量

您可以设置导入选项来更改文本数据类型变量的值。类指定的字符向量或字符串数组的变量都适用这些导入选项varnames指数输入参数。可以将导入选项值指定为字符向量或字符串标量。

导入选项名称 描述 导入选项值
“WhiteSpaceRule” 前导空格和尾随空格
  • “保存”(默认)-保留空白。

  • “修剪”-删除文本的前导和尾随空格。此导入选项值忽略文本中间的空白。

  • “trimleading”—只删除前导空白。

  • “trimtrailing”-只移除尾随的空格。

“TextCaseRule” 文本案例
  • “保存”(默认)-保留文本大小写。

  • “低”-将文本转换为小写字母。

  • “上”-将文本转换为大写。

变量与datetime数据类型

方法可以设置导入选项以更改变量的值datetime数据类型。属性的变量适用这些导入选项datetime类型指定的数据类型varnames指数输入参数。

导入选项名称 描述 导入选项值 默认导入选项值
“DatetimeFormat” 日期和时间的显示格式

有效的值,请参见格式的财产datetime函数。

“默认”
“DatetimeLocale” 用于解释日期的地区

有效的值,请参见“场所”中的名称-值对参数datetime函数。

“en - us”
“时区” 时区

有效的值,请参见时区的财产datetime函数。

“InputFormat” 表示日期和时间的输入文本的格式 有效的值,请参见infmt中的Input参数。datetime函数。 “yyyy-MM-dd HH: mm: ss。SSSSSSSSS”

变量与持续时间数据类型

方法可以设置导入选项以更改变量的值持续时间数据类型。属性的变量适用这些导入选项持续时间类型指定的数据类型varnames指数输入参数。

导入选项名称 描述 导入选项值 默认导入选项值
“InputFormat” 表示时间的输入文本的格式 有效的值,请参见infmt中的Input参数。持续时间函数。
“DurationFormat” 时间显示格式 有效的值,请参见格式的财产持续时间函数。 “hh: mm: ss”

变量分类数据类型

方法可以设置导入选项以更改变量的值分类数据类型。属性的变量适用这些导入选项分类类型指定的数据类型varnames指数输入参数。

导入选项名称 描述 导入选项值 默认导入选项值
“类别” 预期的类别

有效的值,请参见catnames中的Input参数。分类函数。

{}
“保护” 类别保护指示器

有效的值,请参见“保护”中的名称-值对参数分类函数。

“顺序” 数学排序指示器

有效的值,请参见“顺序”中的名称-值对参数分类函数。

数据类型:字符|字符串

在R2018b中引入