У меня есть простая проблема, которую я не могу решить.
Если вы посещаете этот URL с помощью браузера:
http://overpass -api.de / api / interpreter? Data = [out: json]; area [name = "Окленд"] ->. a; (node (area.a) [amenity = cinema];); out;
OSM вернет вам все кинотеатры в Окленде в формате JSON.
Я хотел бы динамически запросить это через T-SQL, но прежде всего мне нужно выяснить, как вставить переменную названия города в URL:
DECLARE @place as NVARCHAR(30) SET @place = 'Auckland' DECLARE @URL as VARCHAR(MAX) SET @URL = 'http://overpass-api.de/api/interpreter?data=[out:json];area[name="' + @place +'"]->.a;(node(area.a)[amenity=cinema];);out;';
Это объявлениене работает и SSMS фосфатирует его красным:
Не уверен, как выйти из этой проблемы.
Я следовалнесколько направляющих, но все они говорят, что используют ' + @variable + ', но в моем случае не работает.
' + @variable + '
Почему?
Это просто синтаксическая окраска редактора.Вы можете настроить его в своей IDE.
Обратите внимание, что вы можете сделать это тоже:
DECLARE @place as VARCHAR(30) = 'Auckland' DECLARE @URL as VARCHAR(MAX)=FORMATMESSAGE('http://overpass-api.de/api/interpreter?data=[out:json];area[name="%s"]->.a;(node(area.a)[amenity=cinema];);out;',@place) ;