如何将varchar值转换为数字

时间:2011-06-13 08:13:01

标签: c# database crystal-reports

我在数据库中有一个varchar列。如何转换为整数以获得水晶报告中的总和。在使用存储过程时,是否可以将varchar转换为数字....

3 个答案:

答案 0 :(得分:1)

在不使用Try / Catch的情况下在C#中执行此操作:

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

尽管可能,您可能最好在数据库查询中执行此操作。正如其他人所建议的那样,为什么数字存储在varchar字段中?

修改

Transact SQLPL/SQL方言都支持CAST函数。

您可以使用以下方式在查询中进行转换 - 但请注意,您使用的实际数据库可能存在细微差别。

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

感谢Anjay的最有价值的贡献。

答案 1 :(得分:0)

这应该这样做:

SELECT SUM(CONVERT(INT , varchar_column)) FROM [test]

答案 2 :(得分:-1)

您可以在存储过程或视图中使用以下函数,并在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