0

複数の列のデータをSQL Serverの単一の列に追加する方法は?

私は次のような列を持っておりLoc_BldgStreet, Loc_Area, Loc_City, Loc_State, Loc_Country、それらをすべて 1 つの列 (ビュー内) に追加して、グリッドビュー (asp.net) に単一の列として表示し、非常に広いグリッドを避けるために完全なアドレスとして表示したいと考えています。

どうやってするの?location_view からグリッドをバインドするために linq を使用しています。

ありがとうございました!

4

3 に答える 3

2

SQL 2012 では、 CONCATを使用して単一の列を構築できます。

それ以外の場合は、他の回答が示しているように「+」オペランドを使用してください。

于 2012-08-21T11:41:16.810 に答える
2

The + sign is what you use to concatinate strings in SQL.

col1 + col2 as Colname

If one of the columns happens to be numeric (i.e. int) then use convert or cast

col1 + convert(varchar(10), col2) as Colname

If one of the columns allows null, you'll need to use IsNull otherwise, the entire string will return null:

col1 + isnull(col2, '') as Colname

To create a view:

CREATE VIEW dbo.MyView
AS

SELECT col1, col2, col3 + col4 + col5 as NewColName
FROM dbo.MyTable
GO

You can also create a computed column and place your concatination there. Computed columns can also use functions for things like running totals and such and do not require the extra view.

于 2012-08-21T11:39:51.953 に答える
1

try this:

select isnull(Loc_BldgStreet,'') +
       isnull(Loc_Area,'') +
       isnull(Loc_City,'') +
       isnull(Loc_State,'') + 
       isnull(Loc_Country,'')
from <your table>  
于 2012-08-21T11:39:43.080 に答える