我在数据库中有一个varchar列。如何转换为整数以获得水晶报告中的总和。在使用存储过程时,是否可以将varchar转换为数字....
答案 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 SQL和PL/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