1

我正在尝试构建一个附加功能。基本查询是

SELECT @concatentated_value = 
     ISNULL(@concatentated_value + ',', '') + 
     ISNULL(@append_stringfront, '') + 
     CONVERT(VARCHAR, DATEADD(DAY, number, @start_date), 101) + 
     ISNULL(@append_stringend, '')

现在在这个函数中,如果我像前面追加'['那样传递,那么它应该自动生成']'作为结束,这样我就不必显式传递两个值参数,我知道套管可以做这些事情但是有没有嵌入的这样做的方式,而不是显式定义这些值并获得相应的最终值的不同方式。

任何链接都会很好

我目前正在使用这个

SELECT @concatentated_value = ISNULL(@concatentated_value + ',', '') + ISNULL(@append_string, '') + CONVERT(VARCHAR, DATEADD(DAY, number, @start_date), 101) + CASE @append_string WHEN '[' THEN ']' WHEN '(' THEN ')' WHEN '{' THEN '}' ELSE '' END
4

1 回答 1

1

这将处理 [],{},<>。但不是这个()

Declare  @concatentated_value varchar(max)='aSD',
@append_stringfront varchar (12)='<',
@start_date date='01/06/2013'

SELECT 
     ISNULL(@concatentated_value + ',', '') + 
     ISNULL(@append_stringfront, '') + 
     CONVERT(VARCHAR, DATEADD(DAY, 1, @start_date), 101) + 
     ISNULL(char(ASCII(@append_stringfront)+2), '')
于 2013-06-27T07:13:43.050 回答