#sql #sql-server
#sql #sql-сервер
Вопрос:
У меня есть список автоматически сгенерированных таблиц в MS-SQLServer, которые отличаются только датой, указанной в конце имени. Проблема в том, что я хочу создать скрипт, который всегда ссылается на таблицу «x дней назад».
Так, например, если имя таблицы будет: dbo.tablename_20200825
Я могу «приблизиться» к нужному мне формату даты в виде строки со следующим утверждением и стилем
select convert(varchar(10), getdate(), 102);
Однако у меня все еще есть эти периоды разделения между каждой частью даты.
Как мне сделать так, чтобы результирующая строка отображалась как ‘20200825’ вместо ‘2020.08.25’
Как всегда, спасибо за любую информацию и помощь.
Комментарии:
1. Для имен таблиц переменных потребуется динамический sql. Как правило, это плохой дизайн.
2. Документация на
CONVERT
предоставляет вам всю необходимую информацию для этого.
Ответ №1:
Я думаю, вы ищете 112
select convert(varchar(10), getdate(), 112);
Результаты
20200825
Ответ №2:
Вы можете использовать format()
, чтобы получить именно то, что вы хотите:
select format(getdate(), 'yyyyMMdd')