问题标签 [sql-variant]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
615 浏览

sql-server - 为什么 sql_variant 数据类型在开发中不常见?

我正在查看系统表并查看sql_variant了某些列的数据类型。我从未sql_variant在生产数据库中看到任何具有数据类型的列。这有什么原因吗。

0 投票
4 回答
9266 浏览

c# - 在 SQL Server 中使用 sql_variant 而不是 varchar 有什么好处吗?

我目前有一个数据库表设置如下(EAV - 商业原因是有效的):

  • Id - 整数 (PK)
  • 键 - 唯一,varchar(15)
  • 值 - varchar(1000)

这允许我将混合值作为键/值对添加到我的数据库中。例如:

在我的 C# 代码中,我使用 ADO.Netreader.GetString(2);将值作为字符串检索,然后让我的代码在其他地方根据需要对其进行转换,例如Int32.ParseInt(myObj.Value);...。我正在考虑通过可能将值列更改为sql_variant数据类型来增强我的表,但我不知道这样做有什么好处?基本上,让我的价值列是sql_variantvs有什么好处varchar(1000)吗?


更清楚地说,我在某处读到 sql_variant 以 nvarchar(4000) 的形式返回给进行调用的客户端(哎哟)!但是,我不能在返回之前将其转换为它的类型吗?显然,我的代码必须进行调整以将值存储为对象而不是字符串值。sql_variant我想,在我目前的情况下,使用与其他类型相比有哪些优点/缺点?哦,值得一提的是,我计划在 value 列中存储的只是日期时间、字符串和数值类型(int、decimal 等);我不打算存储和 blob 或图像等。

0 投票
3 回答
4345 浏览

c# - 在 sql_variant 列的表值参数中传递“对象”类型的参数

我在 SQL Server 2012 中有一个表值参数,定义为:

我用 C# 调用它,代码大致如下所示:

然后我在调用时从 SQL Server 收到以下错误ExecuteNonQuery

不支持“值”列的类型。类型是“对象”

我发现有人在 3 年前被确定为已知的 Microsoft 错误时遇到了同样的问题。但是,该错误的链接已损坏。有谁知道是否有关于错误状态或潜在解决方法的更新信息?就目前而言,这个错误确实扼杀了sql_variant字段的价值。

0 投票
1 回答
491 浏览

sql - 这个 select 语句怎么可能工作,但这个 update 语句在 VFP 9 中却没有?

概述

我正在尝试select在 Visual Fox Pro 9 (VFP9) 中编写一条语句来更新一行(最终还有其他几条记录,我先写了一条 select 语句,效果很好,我得到了预期的结果。

但我对 VFP9 语法有点陌生,2013 年谁不会呢? 我期待UPDATE其中包含我select的操作有点像UPDATE INNER JOIN实际的非 foxprose SQL

我的选择语句,它工作正常。

我的更新语句(其中包含我的选择语句并且不起作用):

我收到一个错误,上面写着 Microsoft Visual FoxProCommand contains unrecognized phrase/keyword.我看不到它在说什么,我的查询中有 4/5 是我原来的选择语句。

0 投票
0 回答
1829 浏览

entity-framework-5 - 我需要先在实体框架代码中使用 sql_variant

我必须在数据库中定义动态参数值,以便通过这些参数在 C# 中调用我的方法。顺便说一句,我只使用简单的变量,例如 int、bool、string、datetime.... 但不幸的是,我无法从 sql_variant 字段中获取值到我的模型中的对象。

我使用 EF 代码 First 5 和 SQL 2008 Server

0 投票
1 回答
310 浏览

sql - 避免使用 sql_variant 但使用什么?

我的数据库包含具有值的模板表单和真实表单。用户将能够创建具有不同类型字段的自定义模板表单。我会将值保存在单独的表中。

表格:

表单字段表:

值表

当用户设计表单时,它会保存到具有 TemplateId 的表单表中NULL。FormFields 表还存储将用于此表单的字段。稍后当用户使用该模板创建真实表单时,该表单的真实值(从 FormFields 派生)将存储在 Values 表中。现在,值表中的值列似乎是sql_variant类型。如果我不使用sql_variant如何解决这个问题?

Ps:为每种值创建不同的表怎么样?TableIntValues、TableBoolValues 等?

http://www.jotform.com/可以作为我项目的一个很好的示例。

0 投票
1 回答
262 浏览

c# - 过滤日期数据,但如果日期不匹配,则在查询中显示除一个之外的所有值 [SQL & C#]

我很坚持这个查询。首先,我想实现什么?我想在三个表上进行内部连接(已经正确)并根据日期是否在当月过滤掉数据。如果日期不在当前月份,则不应填写“bedrag”字段,应将其设置为零。我还应该看到表格中的所有内容,但不应更改“bedrag”字段。

如果日期是从当月开始的,它应该添加到“bedrag”(注意 group by 这样做)并显示所有内容。现在我的查询做的一切都是正确的,除了当你有不是这个月的数据时。然后记录将丢失/不会显示。

表设计:http: //imgur.com/vhONCq1

查询:

请注意:这不是普通的 SQL,而是 C# 中用于将数据从 Access DB 获取到 DAL 和 BLL 层的变体。

一个示例,您可以在其中查看查询的哪些消息以及它是如何出错的:http: //imgur.com/V0N6Wbk

如果记录不是来自本月的,谁能告诉我如何才能显示所有数据,但又不添加床单?

谢谢!

0 投票
3 回答
71 浏览

sql - Get the non empty data from a sql_varient column

I have a sql table with sql_varient column. I want to query the table to get the records which has value. I used following query

But its return the data which has no data also. How can I achieve this

0 投票
0 回答
534 浏览

sql-server - 返回 sql_variant 或转换后的数据类型的标量函数?

给出以下功能:

是否可以返回在@val1 和@val2 上接收到的相同数据类型?

例如:dbo.inlineMax(1,2) 返回 int,而 dbo.inlineMax(GETDATE(),GETDATE()+1) 返回 datetime?

0 投票
0 回答
139 浏览

c++ - 无法使用 C++ 中的 OLE DB 在 sql_variant 数据类型列中插入无符号 __int64 值

我正在尝试使用带有 C++ 的 OLE DB 在 MS Sql Server 中插入一个 unsigned __int64 类型的值,用于具有 sql_variant 数据类型列的列。尽管对于所有其他数据类型,我都可以这样做。

代码片段:

我想知道 sql_variant 是否支持 VT_UI8?提前致谢。