问题标签 [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.
sql-server - 为什么 sql_variant 数据类型在开发中不常见?
我正在查看系统表并查看sql_variant
了某些列的数据类型。我从未sql_variant
在生产数据库中看到任何具有数据类型的列。这有什么原因吗。
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_variant
vs有什么好处varchar(1000)
吗?
更清楚地说,我在某处读到 sql_variant 以 nvarchar(4000) 的形式返回给进行调用的客户端(哎哟)!但是,我不能在返回之前将其转换为它的类型吗?显然,我的代码必须进行调整以将值存储为对象而不是字符串值。sql_variant
我想,在我目前的情况下,使用与其他类型相比有哪些优点/缺点?哦,值得一提的是,我计划在 value 列中存储的只是日期时间、字符串和数值类型(int、decimal 等);我不打算存储和 blob 或图像等。
c# - 在 sql_variant 列的表值参数中传递“对象”类型的参数
我在 SQL Server 2012 中有一个表值参数,定义为:
我用 C# 调用它,代码大致如下所示:
然后我在调用时从 SQL Server 收到以下错误ExecuteNonQuery
:
不支持“值”列的类型。类型是“对象”
我发现有人在 3 年前被确定为已知的 Microsoft 错误时遇到了同样的问题。但是,该错误的链接已损坏。有谁知道是否有关于错误状态或潜在解决方法的更新信息?就目前而言,这个错误确实扼杀了sql_variant
字段的价值。
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 是我原来的选择语句。
entity-framework-5 - 我需要先在实体框架代码中使用 sql_variant
我必须在数据库中定义动态参数值,以便通过这些参数在 C# 中调用我的方法。顺便说一句,我只使用简单的变量,例如 int、bool、string、datetime.... 但不幸的是,我无法从 sql_variant 字段中获取值到我的模型中的对象。
我使用 EF 代码 First 5 和 SQL 2008 Server
sql - 避免使用 sql_variant 但使用什么?
我的数据库包含具有值的模板表单和真实表单。用户将能够创建具有不同类型字段的自定义模板表单。我会将值保存在单独的表中。
表格:
表单字段表:
值表
当用户设计表单时,它会保存到具有 TemplateId 的表单表中NULL
。FormFields 表还存储将用于此表单的字段。稍后当用户使用该模板创建真实表单时,该表单的真实值(从 FormFields 派生)将存储在 Values 表中。现在,值表中的值列似乎是sql_variant
类型。如果我不使用sql_variant
如何解决这个问题?
Ps:为每种值创建不同的表怎么样?TableIntValues、TableBoolValues 等?
http://www.jotform.com/可以作为我项目的一个很好的示例。
c# - 过滤日期数据,但如果日期不匹配,则在查询中显示除一个之外的所有值 [SQL & C#]
我很坚持这个查询。首先,我想实现什么?我想在三个表上进行内部连接(已经正确)并根据日期是否在当月过滤掉数据。如果日期不在当前月份,则不应填写“bedrag”字段,应将其设置为零。我还应该看到表格中的所有内容,但不应更改“bedrag”字段。
如果日期是从当月开始的,它应该添加到“bedrag”(注意 group by 这样做)并显示所有内容。现在我的查询做的一切都是正确的,除了当你有不是这个月的数据时。然后记录将丢失/不会显示。
表设计:http: //imgur.com/vhONCq1
查询:
请注意:这不是普通的 SQL,而是 C# 中用于将数据从 Access DB 获取到 DAL 和 BLL 层的变体。
一个示例,您可以在其中查看查询的哪些消息以及它是如何出错的:http: //imgur.com/V0N6Wbk
如果记录不是来自本月的,谁能告诉我如何才能显示所有数据,但又不添加床单?
谢谢!
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
sql-server - 返回 sql_variant 或转换后的数据类型的标量函数?
给出以下功能:
是否可以返回在@val1 和@val2 上接收到的相同数据类型?
例如:dbo.inlineMax(1,2) 返回 int,而 dbo.inlineMax(GETDATE(),GETDATE()+1) 返回 datetime?
c++ - 无法使用 C++ 中的 OLE DB 在 sql_variant 数据类型列中插入无符号 __int64 值
我正在尝试使用带有 C++ 的 OLE DB 在 MS Sql Server 中插入一个 unsigned __int64 类型的值,用于具有 sql_variant 数据类型列的列。尽管对于所有其他数据类型,我都可以这样做。
代码片段:
我想知道 sql_variant 是否支持 VT_UI8?提前致谢。