用户登录
用户注册

分享至

如何在 Linq To SQL 中知道字段是否为数字

  • 作者: o决恋25304408
  • 来源: 51数据库
  • 2022-12-13

问题描述

我需要选择列值为数字的表的行,有什么帮助吗?

I need to select the rows of a table where a column value is numeric, any Help?

我有一个 varchar 列,我需要选择哪些是数字,哪些不是.

I have a varchar column and I need to select the ones that are numbers and the ones that are not.

EDIT 2: Integer.TryParse 不能使用,因为它不能转换为 SQL.

EDIT 2: Integer.TryParse cannot be use because it cannot be translate to SQL.

推荐答案

我不知道 LinqToSQL 中是否有 int.TryParse() 的映射,但是您可以通过执行查询分两步完成,转换为列表,然后使用 LinqToObjects 从列表中选择.

I don't know if there is a mapping for int.TryParse() in LinqToSQL, but you could probably do it in two steps by performing the query, casting to a List, then selecting out of the list with LinqToObjects.

int i;
var query = context.Table.ToList();
var intQuery = query.Where( t => int.TryParse( t.Column, out i ) );

你可能想看看 动态 LINQ,也是.这将允许您执行以下操作:

You might want to look at Dynamic LINQ, too. That would allow you to do something like:

var query = context.Table.Where( "IsNumeric(Column)" );

编辑 VS2008 代码示例中提供了动态 LINQ,链接来自 Scott Guthrie 的博客,我已在上面链接.

EDIT Dynamic LINQ is available in the VS2008 Code Samples, linked to from Scott Guthrie's blog, which I've linked above.

软件
前端设计
程序设计
Java相关