我是新手。我试图将列ID从float更改为varchar但在此处获取错误消息。 "类型名称' Programmer.dbo。'糖尿病患者12年以上$''包含超过最大前缀数。最大值为1。 "这里有什么不对的?
SELECT * 来自[程序员]。[dbo]。['糖尿病患者12年以上$']
select convert ([Programmer].[dbo].['Diabetic Patient 12 years ove$'].id as varchar(200))
答案 0 :(得分:1)
请尝试:
SELECT CAST(id AS varchar(200))
FROM [Programmer].[dbo].[Diabetic Patient 12 years ove$]
OR(强制整数格式)
SELECT CAST(CAST(id AS BIGINT) AS varchar(200))
FROM [Programmer].[dbo].[Diabetic Patient 12 years ove$]
答案 1 :(得分:0)
转换的工作原理如下:
Convert(VarChar(200), NAME_OF_COLUMN HERE )
Cast会像这样工作:
Cast(NAME_OF_COLUMN HERE As VarChar(200))
我认为它们之间没有任何性能差异,
答案 2 :(得分:0)
你必须做这样的事情:
Select STR(tbl.id) FROM [Programmer].[dbo].[*tablename*] tbl
答案 3 :(得分:0)
试试这个:
SELECT CONVERT(VARCHAR(200), id) FROM [Programmer].[dbo].[your_table]
你只需要一个类型-o。如果你得到这样的错误,最好只读一下你试图做什么命令的例子,在这种情况下CONVERT。 https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql然后把你自己的列和表放进去。