При написании выражения select с помощью '*' (например, select *
(...)), я хотел бы использовать комбинацию клавиш [shift + 2] + [2] вместо [shift + 8]. Это потому, что я могу найти правую смену и 2 кнопки легче на клавиатуре, чем левую смену и 8. Хотя это может показаться вам произвольным, для меня это не так, и вопрос в этом случае действительно важен. По крайней мере, я так думаю. :)Как сделать временную переменную как * в выражении select, в t-sql
Я пытаюсь выполнить то, что хочу, declaring a variable
с именем '@ 2', и я хочу the dbms to interpret that as '*' and not as a 'string *'
, так как * -команда. Позже я хочу сделать это как глобальную переменную, но для цели этого вопроса я спрашиваю ее, хочу ли я только временную переменную.
Is it possible
, чтобы иметь dbms интерпретировать его как * -команду? Если да, то как? Возможно, мне нужно использовать different datatype
, но что?
См. Ниже фрагмент сценария, результат теперь и желаемый результат. Я надеюсь, что вы можете помочь.
Кусок сценария:
declare @2 nvarchar
set @2='*'
select @2 from TableAA
Результат Сейчас:
(No column name)
*
*
*
etc
Желаемый результат:
A B C
1 43 25
2 33 788
3 13 83
etc.
// Оказывается, она не может ... Смотрите ответы ниже , Я сделал что-то еще, чтобы добиться чего-то подобного: я установил AutoHotkey и написал сценарий, который вставляет «*», когда я нажимаю Left shift a Escape. Работает как шарм. См. Этот сценарий внизу.
>+Esc::
Send, *
Return
Вам необходимо Dynamic-SQL для этого типа: 'DECLARE @sql NVARCHAR (MAX) = N'select '+ @ 2 + N' от TableAA) '; EXEC (@sql); ' – lad2025
Вы не можете делать то, что хотите, с помощью регулярного оператора SQL. Вы можете ввести '*' как значение ASCII 42, если это помогает. –
Также не объявляйте 'nvarchar' или' varchar' без ** размера ** –