2012-08-23 33 views
-2

我有一些PARAM值记录到日志文件(SQL Server 2005中)转换任何为字符串SQL

是否有通用.ToString()方法在SQL中可以转换成任何类型的objectstring为了可视化一个对象值?

by eg。如果我使用STR(@param)它期望@param是一个浮点值或整数值。并且在@param是varchar时失败...

+1

什么是“对象值”?我们在这里讨论什么数据类型,除了字符串,数字和日期? –

+0

'CAST'? 'CONVERT'?在.NET和Java中使用 – LittleBobbyTables

+0

我们有一个“对象”的概念 - 任何类型的对象都有一个ToString方法。 – serhio

回答

4

你应该能够对任何参数转换为使用CONVERT() or CAST()字符串:

SELECT CONVERT(NVARCHAR(MAX), @param); 
SELECT CAST(@param AS NVARCHAR(MAX)); 

是否转换为有意义的是另一回事。

+0

说我有100个地方把这个代码(我登录参数值)...每次我应该想,什么类型的参数是什么? – serhio

+0

是的,参数应该输入正确,而不是试图使它们通用,这可能会让你陷入困境。这不是一种万能的方案,恕我直言,无论你有1个参数,还是10或1000.如果你的程序需要100个参数,你可能需要查看其他方法(例如SQL Server 2008+中的TVP)。 –

+0

@serhio你的问题是如何将任何参数转换为字符串。这不是对所述问题的答案吗? – Paparazzi