Каков наилучший способ получить неделю с даты в формате 01 02 03 04 05, а не 1 2 3 4 5?TSQL DatePart Week в формате ww 01 вместо 1
0
A
ответ
0
Самый простой способ состоит в конкатенации ваш ведущий 0
с, а затем взяв две крайние правые значения:
select right(concat('00', DATEPART(week, getdate())), 2) as WeekNum
Вам не нужно UDF для этого. ..
0
Пожалуйста, проверьте SQL left padding function, как можно реализовать следующим образом
DECLARE @Dt datetime
SELECT @Dt='01-21-2008'
SELECT dbo.udfLeftSQLPadding(CAST(DATEPART(wk, @Dt) AS NVARCHAR),2,'0')
Функция использует Реплицировать() с другими функциями, как вправо(), и т.д., как показано ниже
SELECT RIGHT(Replicate('0', 2) + CAST(DATEPART(wk, @Dt) AS NVARCHAR), 2)
Вот выход
0
0
Вы также можете Concat строки
SELECT CASE WHEN DATEPART(week,@d) < 10 THEN '0' ELSE '' END + DATEPART(week,@d)
0
Более быстрая и эффективная альтернатива dbo.udfLeftSQLPadding была бы встроенной табличной функцией с той же логикой. Это будет выглядеть следующим образом:
CREATE FUNCTION dbo.iTVFLeftSQLPadding
(
@String varchar(100),
@Length smallint,
@PaddingChar char(1) = '0'
)
RETURNS TABLE WITH SCHEMABINDING AS RETURN
SELECT newstring = RIGHT(REPLICATE(@PaddingChar, @Length) + @String, @Length);
Вы можете узнать больше об этой технике здесь: http://www.sqlservercentral.com/articles/T-SQL/91724/
Смежные вопросы
- 1. DATEPART (WW, дата) с SET DATEFIRST
- 2. Неожиданное поведение DATEPART
- 3. SQL Work Week в формате yyyyww
- 4. дата Вычесть в YYYY-WW формате
- 5. Как отображать 1 вместо 01 в ToString();
- 6. Datepart Week Sql (С 53 неделями по году)
- 7. веточка формат дата (отображение 1 вместо 01)
- 8. Получите 01 из междунар вместо 1 в цикле
- 9. SQL Server - Week Ending
- 10. Python - как производить время в формате 08:09:00 вместо 1900-01-01 8:09:00
- 11. Как я могу разобрать строку в формате даты «1998/10/01», «1998/1/01» в формате YYYY/M/D
- 12. C#: ASCII в шестнадцатеричный: выходной шестнадцатеричный как «01» вместо «1»
- 13. Сохранение числа как 01 вместо 1 в базе данных оракула
- 14. Добавление двух чисел вместе должно показывать 1 вместо показывает 01
- 15. Относительная дата: 1/1/1981 01:01:01 - 1/1/1980 = 1y 366d ect, want 1y 1d и т. Д.
- 16. Расчет с WEEK в oracle
- 17. Datepart() есть ли способ использовать переменную для интервала datepart
- 18. Что вместо CONVERT (TIME, x) Datepart?
- 19. DATEPART() в sqldf
- 20. Datepart для времени между (вместо даты конвертации)
- 21. TSQL триггер вместо вставки
- 22. SSAS MDX DatePart iso_week
- 23. поиск данных в моей базе данных с помощью datepart Функция tsql
- 24. SQL Oracle Как преобразовать String Week в дату
- 25. DATENAME и DATEPART в SQL
- 26. TSQL: количество неудачных попыток на счетах до 1-й утвержденной попытки, но только если это произошло после 2016-01-01
- 27. SQL: объединить две функции DATEPART
- 28. Python 3.4.1 Как получить 1 из 01
- 29. TSQL: Как конвертировать «44 дня, 5:07:01» в «44: 5: 07: 01»?
- 30. TSQL 2 Запросы в 1
является то, что вы хотите ?? –
<Комментарий удален> –