我读过有关SQL Server的Cast and Convert函数,但我有一些不同的要求。我希望将所有存储过程参数声明为varchar
,以便在使用AddWithValue
方法添加参数时消除C#中所需的大多数转换代码。
我希望尽可能多地在数据库中放入代码来减少前端代码。我的存储过程包含INSERT
和UPDATE
个查询。我想在查询本身或以任何其他更好的方式转换参数的数据类型。 CAST函数适用于转换,但如果参数没有值,我还想传递NULL?
例如:
@Udate varchar(10),
@Uamount varchar(50)
INSERT INTO table (Name, Udate, Uamount)
VALUES (@Name, Cast(Udate As DateTime), Cast(Uamount As Decimal)
在查询中使用CAST
的缺点是,许多CAST
函数使查询的可读性变差。还有什么我可以转换数据类型以及如何检查空值?