У меня есть такой запрос.Как отобразить имя столбца как данные в другом столбце
EXEC('SELECT FirstName, LastName,' + @Subject + ' FROM Student')
Я должен показать еще один столбец, который является первым двумя буквами динамически выбранного имени столбца «Тема». Я попытался использовать функцию SUBSTRING, как показано ниже, но он извлекает первую 2-х букву данных. Вместо этого я хочу получить первые 2 буквы имени столбца. Пожалуйста, дайте мне знать, что я делаю неправильно здесь.
EXEC('SELECT FirstName, LastName,' + @Subject + ', SUBSTRING('[email protected]+',1,2) FROM Student')
Вы должны быть осторожны, потому что это решение является рискованным с точки зрения инъекций SQL. –
@BogdanSahlean - не могли бы вы показать нам, как это можно сделать здесь? –
Попробуйте это 'SET @Subject = 'p2AAA; SELECT 1 AS SqlInjection; - '; EXEC (...); '. –