【发布时间】:2015-03-03 05:08:11
【问题描述】:
如上面的标题,我需要使用可变参数在 SQL 中创建一个函数 它主要用于将字段连接到 1 个字段中。比如:
MyConcat(1, 'xxx', 23456, 'yyyy') 将产生 '1-xxx-23456-yyyy'或
MyConcat('aaa', 123, 888) 将产生 'aaa-123-888'在另一种语言上应该很容易,但是如何在 SQL 中定义?
非常感谢。
【问题讨论】:
-
SELECT column1 + '-' + column2... -
Select查询上可以轻松搞定吗?你还想要功能吗?
-
你不能这样做..你必须定义为 convert(col1 as varchar) + '-' + convert(col2 as varchar) + '-' + convert(col3 as varchar) + '-' .... 你必须在每个查询中都这样做。是的,我可以在选择查询上做到这一点,但是基于此做一些内部连接在代码上非常难看
-
@Magician 所有查询都具有相同的数据类型?需要连接多少列?
-
no.. 多种数据类型,小数,varchar,数字。所需的列是可变的,具体取决于用于识别数据的字段数。一些使用 4,一些 3,一些 2。4 是我找到的最多的,还有一些我还没有检查过的表。所以也许还有更多
标签: sql-server sql-server-2008 concatenation