Как я могу запросить VARCHAR как целое число - PullRequest
0 голосов
/ 22 августа 2010

У меня есть столбец, содержащий VARCHAR, и у меня есть флаг, который определяет, является ли значение строкой или целым числом.Я хотел бы выполнить поиск по целым числам, но они хранятся как VARCHAR.Как мне это сделать?

Я пытаюсь сделать это в предложении where.

var q = from x in context.table
        where x.Criteria > 0
        select new
        {
              x
        }

Ответы [ 3 ]

1 голос
/ 22 августа 2010

1001 * SQL * select isnull(Convert(int, varcharColumn),0) from atable where isInteger = 1 * 1004 LINQ * var q = context.YourCustomView;

1 голос
/ 22 августа 2010

Возможно, вам понадобится вывести значения с сервера в виде строк и выполнить преобразование в LINQ to Objects.

var q = context.table
    .Where(x => x.Criteria > 0)
    .Select(x => x.IntOrStringValue)
    .AsEnumerable()
    .Select(v => Convert.ToInt32(v));

замените x.Criteria > 0 вашей логикой, которая указывает, что значение является целым числом. замените x.IntOrStringValue на столбец, содержащий целые числа.

1 голос
/ 22 августа 2010

CAST(TheColumn AS INTEGER)

...