Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да комбинирате множество редове LineString в една колекция от редове

Просто използвайте .STUnion

BEGIN
-- create a test table
DECLARE @test TABLE(seg GEOMETRY);
INSERT INTO @test VALUES(geometry::STGeomFromText('LINESTRING (0 0, 50 100)', 0))
INSERT INTO @test VALUES(geometry::STGeomFromText('LINESTRING (50 100, 100 200)', 0))
INSERT INTO @test VALUES(geometry::STGeomFromText('LINESTRING (100 200, 150 300)', 0))
--SELECT seg.STAsText() FROM @test
DECLARE @geom GEOMETRY
SELECT @geom = (SELECT TOP 1 seg FROM @test)
-- union all the linestring points
SELECT @geom = @geom.STUnion([seg]) FROM @test
-- do what you want with the results
SELECT @geom
print(@geom.STAsText())
END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Задайте опция 9 в съхранената процедура на SQL Server, като използвате WinHttp.WinHttpRequest.5.1 за TLS 1.2

  2. CAST(DATETIME КАТО ДАТА) над клаузата WHERE

  3. Вмъкване във временна таблица в CTE

  4. SQL Server 2008 - Свиване на регистъра на транзакциите - Има ли начин за автоматизиране?

  5. Как да генерирам име на таблица по дата и час?