Ich versuche, eine bestimmte Zeile nach Name in meiner SQL-Datenbank abzufragen, und es hat ein Et-Zeichen. Ich habe versucht, einen Escape-Charakter zu setzen und dann dem Ampersand zu entkommen, aber aus irgendeinem Grund funktioniert das nicht und ich bin unsicher, was genau mein Problem ist.Escaping kaufmännisches Zeichen in SQL-Zeichenfolge
Set escape '\'
select * from V1144engine.T_nodes where node_id in(
select node2_id from V1144engine.T_edges where node1_id in(
select node2_id from V1144engine.T_edges where node1_id in(
select node2_id from V1144engine.T_edges where node1_id =
(select node_id from V1144engine.T_nodes where node_name = 'Geometric Vectors \& Matrices')))
and edge_type_id = 1)
and node_type_id = 1
and node_id in (
select node2_id from V1144engine.T_edges where node1_id =
(select node_id from V1144engine.T_nodes where node_name = 'Algebra II')
and edge_type_id = 2);
Obwohl dies eine ähnliche Lösung zu this question hat, werden die Probleme ganz anders gestellt. Sie können am Ende die gleiche Lösung haben, aber das bedeutet nicht, dass die Fragen gleich sind.
ich glaube nicht, dass Sie das Zitat um die Escape-Zeichen ('\') benötigen – mcalex
'set define off' ist der einfachste Weg, es zu tun. – Annjawn
Duplikat von http://stackoverflow.com/questions/118190/how-do-i-ignore-ampersands-in-a-sql-script-running-from-sql-plus – LordScree