我在通过C#导入一些数据时让我的生活更轻松,如果我可以在SQL端执行所有转换和投射(并设置正确的列长度),而不是在C#中(因为我的C#代码都是动态的,没有硬编码,当东西不是正确的长度时它会下降)。这或多或少是我做的一个非常小的规模是什么:可以为视图定义列类型和大小吗?
CREATE VIEW vw_pendingitems
AS
SELECT
CAST(a.columnone AS CHAR(1)) 'Column 1',
CAST(a.columntwo AS CHAR(1)) 'Column 2',
CAST(a.adecimalcolumn AS VARCHAR(30)),
CAST(null AS VARCHAR(20)) 'A not yet defined column',
b.anintcolumn 'An int column'
FROM table1 a
JOIN table2 b ON a.key = b.key
前两列都工作正常,但我觉得我打的问题时,我投了空。有没有其他的/更好的方法来做我想要完成的事情?
你错过了一个结束)的第三列? – 2013-03-07 06:35:33
是的,谢谢你抓到:) – Logan 2013-03-07 06:36:38
@LoganDam:如果在'a.adecimalcolumn'中遇到null,你希望发生什么?你现在得到什么错误? – 2013-03-07 06:51:10