查询在单列中合并或组合名字,中间名和姓,当我在几行中有完整的中间名时?

时间:2014-11-10 15:31:24

标签: sql sql-server teradata

我正在使用Teradata sql助手。

select (A1.first+', '+A1.last+' '+substr(a1.middle,1,1)) as  iName
from tablename A1

我收到此错误

  

420:SQL0420N在函数“DECFLOAT”的字符串参数中找到无效字符。 SQLSTATE = 22018

但是当我在MS sql server studio中处理相同的查询时,我可以运行,

当我使用此查询时

select (A1.first+', '+A1.last+' '+substr(a1.middle,1,1)) as  iName
from tablename A1

我收到此错误,

  

171:SQL0171N例程“SUBSTRING”的位置“3”中参数的参数的数据类型,长度或值不正确。参数名称:“”。 SQLSTATE = 42815

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

我认为您想要的查询是:

select (A1.first || ', ' || A1.last || ' '+substr(a1.middle, 1, 1)) as  iName
from tablename A1;