Как я могу назначить преобразованную дату переменной в SQL Server - PullRequest
0 голосов
/ 04 апреля 2020

Как я могу получить преобразованное время даты, назначенное переменной?

Когда я запускаю следующий запрос в SQL Server Mgmt Studio, это возвращает то, что я хочу:

SELECT CONVERT(varchar(15), CAST(GETDATE() AS TIME), 100) 

Мне нужно присвоить переменной: что-то вроде ...

DECLARE @mytime AS VARCHAR;

SET @mytime = SELECT CONVERT(varchar(15),CAST(GETDATE() AS TIME),100) --incorrect syntax
SELECT @mytime

Ответы [ 2 ]

2 голосов
/ 04 апреля 2020

Никогда не используйте VARCHAR без длины в SQL Сервер. В вашем случае по умолчанию используется один символ.

Затем вы можете использовать SET с подзапросом, SELECT или DECLARE, чтобы присвоить значение:

DECLARE @mytime AS VARCHAR(15);

SET @mytime = (SELECT CONVERT(varchar(15),CAST(GETDATE() AS TIME),100) );

Или:

SELECT @mytime = CONVERT(varchar(15),CAST(GETDATE() AS TIME),100);

Или:

DECLARE @mytime AS VARCHAR(15) = ( SELECT CONVERT(varchar(15),CAST(GETDATE() AS TIME), 100) );
0 голосов
/ 04 апреля 2020

Использование SELECT:

SELECT @mytime = CONVERT(varchar(15), CAST(GETDATE() AS TIME), 100) 

SELECT @mytime

Примечание:

Вам необходимо определить длину переменной, иначе тип данных без длины будет принимать только один символ.

DECLARE @mytime AS VARCHAR(15)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...