【发布时间】:2014-03-18 15:43:51
【问题描述】:
我想知道是否可以编写一个仅在该字段包含某种数据类型时才返回该字段的查询。
例如,我可能希望从搜索中返回数据类型为 VARCHAR 或数据类型为 BIGINT 的所有字段。不只是搜索包含数字或字母的字段。
这是我的伪代码示例:(我知道这不是很令人印象深刻):
select *
from dbo.REP_ALIAS ra
where ra.TRADE_REP [= data type integer] --integer is just an example
是否有某种方法可以对所有数据类型执行此操作,而不仅仅是整数。
另外:我正在使用 T-SQL 和 MS SQL Server 2008 R2。
【问题讨论】:
-
嗯,我在询问更多有关查询“任何”特定数据类型的信息,而不仅仅是数值。我只是以整数值为例。重复发帖当然不是我的本意。
-
SQL 中任何字段的数据类型都是在创建字段(又名列)时设置的。所以我想你可能想问一个字段的值是否可以转换(或强制转换)为另一种类型?这将取决于谁在进行更新,以及他们的能力:如果您存储字符串“2014 年 3 月 1 日”,谁来确定这是否是合法日期以及是在一月还是三月? SQL 对此有一些规则,但它们有时与 .NET 转换不同
-
一个字段实际上总是只包含一种数据类型,因为它是在创建(或更改)时定义的。
-
宾果游戏。这就是我一直在寻找的答案。如果您将其发布为答案,我可以接受。
标签: sql sql-server tsql sql-server-2008-r2