Как преобразовать значение varchar в числовое значение - PullRequest
1 голос
/ 13 июня 2011

У меня в базе данных есть столбец varchar.Как я могу преобразовать в целое число, чтобы получить сумму в отчете кристалл.Можно ли преобразовать varchar в числовой при использовании хранимой процедуры ....

Ответы [ 3 ]

1 голос
/ 13 июня 2011

Чтобы сделать это в C # без использования Try / Catch:

int value = 0;
if (Int32.TryParse("string to parse", out value))
{
    // Value parsed correctly        
}
else
{
    // Could not be parsed.
}

Возможно, вам лучше сделать это в запросе к базе данных, если это возможно. Также, как другие предположили, почему числовое значение хранится в поле varchar?

Редактировать

Оба Transact SQL и PL / SQL диалекты поддерживают функцию CAST.

Возможно, вы могли бы выполнить преобразование в запросе, используя, хотя имейте в виду, что могут быть тонкие различия в фактической базе данных, которую вы используете.

SELECT ..., CAST(field_name AS int), ... FROM table_name ...

Благодарю Анджая за его самых ценных вкладов.

0 голосов
/ 13 июня 2011

Это должно сделать это:

SELECT SUM(CONVERT(INT , varchar_column)) FROM [test]
0 голосов
/ 13 июня 2011

Вы используете следующие функции в хранимой процедуре или представлениях и используете их в отчете Crystal, который выполняет расчетную часть.

SELECT CAST(YourVarcharCol AS INT) FROM Table
or

SELECT CONVERT(INT, YourVarcharCol) FROM Table

http://msdn.microsoft.com/en-us/library/aa226054(v=sql.80).aspx

...