어떻게 이것을 MS SQL SERVER에서 MySQL로 변환 할 수 있습니까?MS SQL Server에서 MySQL로 코드 변경
/****** Object: StoredProcedure [dbo].[geolocation_refresh_geography] Script Date: 05/08/2012 22:02:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create procedure [dbo].[geolocation_refresh_geography]
as
update locations
SET geolocation = geography::STPointFromText('POINT(' + CAST([Longitude] AS VARCHAR(20)) + ' ' + CAST([Latitude] AS VARCHAR(20)) + ')', 4326)
where geolocation is null
GO
내 코드가 4 행에 오류를 일으키는 이유는 무엇입니까?
create procedure geolocation_refresh_geography()
BEGIN
update locations
SET geolocation = geography::STPointFromText('POINT(' + CAST(Longitude AS VARCHAR(20)) + ' ' + CAST(Latitude AS VARCHAR(20)) + ')', 4326)
where geolocation is null
END
저는 블록 2가 MySQL 코드라고 가정하고 있습니다. 그렇다면 mysql에 지리 비트가 없기 때문에 실패하는 이유가 있습니다. STPointFromText는 사용자가 수동으로해야 할 일입니다. 대부분 외부에서 코드화해야합니다. –
왜 수동 또는 외부 적으로 지구를해야합니까? MySQL은 SQL Server와 거의 동일한 OGC 표준을 지원합니다. 단지 구문이 약간 다릅니다. http://dev.mysql.com/doc/refman/5.0/en/gis-introduction.html –