T-SQL:在声明的 URL 中插入变量
T-SQL: insert variable inside declared URL
我有一个我无法解决的简单问题。
如果您使用浏览器访问此URL:
OSM returns 为您介绍 JSON 奥克兰的所有电影院。
我想通过 T-SQL 动态查询,但首先我需要了解如何在 URL:[=16= 中插入城市名称变量]
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 + '
但在我的情况下不起作用。
为什么?
它只是编辑器的语法着色。你可以把他配置成你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) ;
我有一个我无法解决的简单问题。
如果您使用浏览器访问此URL:
OSM returns 为您介绍 JSON 奥克兰的所有电影院。
我想通过 T-SQL 动态查询,但首先我需要了解如何在 URL:[=16= 中插入城市名称变量]
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 + '
但在我的情况下不起作用。
为什么?
它只是编辑器的语法着色。你可以把他配置成你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) ;