Nano Hash - криптовалюты, майнинг, программирование

Как сформировать строку с частями дат в SQL Server

У меня есть дата и время в таблице таким образом (по два в каждой строке таблицы):

Row 1: 2012-06-31 01:00:00
Row 2: 2012-06-31 02:00:00
Row 3: 2012-06-31 03:00:00
Row 4: 2012-06-31 04:00:00
...

И я хочу получить каждый час как интервал, чтобы получить его из отчета:

For the first row:  From 1 to 2
For the second row: From 2 to 3
...
For each row: 'From [hour(date)] to [hour(date)+1]'

Но я не перестаю получать «ошибку преобразования» с каждой комбинацией con CONVERT, CAST, DATEPART или DATEADD.

Я новичок в решении таких проблем с SQL... Как бы вы это сделали?


Ответы:


1

Попробуй это:

Используйте функцию DatEPART с CAST

declare @dte datetime='2012-01-01 05:02:00'
select  'From '+ cast (DATEPART(HH,@dte) as char(2))+
             'to ' +cast(  DATEPART(HH,@dte)+1 as char(2))
 

Демонстрация скрипта SQL

РЕДАКТИРОВАТЬ:

ЕСЛИ вы хотите получить из таблицы

declare @t table(dte datetime);
insert into @t values('2012-01-01 05:02:00');
insert into @t values('2012-01-01 06:02:00');
 
select  'From '+ cast (DATEPART(HH,dte) as char(2))+
             'to ' +cast(  DATEPART(HH,dte)+1 as char(2))
             from @t 
03.09.2012
  • Это прекрасно работает, но мне нужно получить дату и время из таблицы. Что-то вроде select id, 'From' + cast (DATEPART(HH,franja) as char(2)) + ... from @tabla_franjas 03.09.2012

  • 2

    Попробуй это :-

     Select 'From ' + Convert(varchar(2),datepart(hour,dateColumn)) 
      + ' to ' + convert(varchar(2),datepart(hour,dateColumn)+1)
     from Sample
    

    SQLFiddle

    03.09.2012
  • Это выглядит великолепно, но я не могу заставить его работать: S Ошибка преобразования типа данных из varchar в int. 03.09.2012

  • 3

    попробуй это

    select 'From '+RIGHT(dtColumn,len(dtColumn)-charindex(' ',dtColumn,1)) + ' To '+convert(varchar(8),dateadd(hh,1,convert(time,RIGHT(dtColumn,len(dtColumn)-charindex(' ',dtColumn,1))))) from yourtable
    
    03.09.2012
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..