Как я могу сделать, чтобы извлечь некоторую информацию с SQL Server? - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть этот столбец с Microsoft SQL Server:

Date
6/19/2019 3:10:12 PM
12/23/2016 5:02:15 AM
13/25/2015 2:15:35 PM

И я хотел бы получить два новых столбца, таких как:

Date            Hour 
06/19/2019    15:10:12  
12/23/2016    05:02:15
13/25/2015    14:15:35

Для первого столбца я просто делю исходный столбец и добавляю 0 для первой строки, а для второго добавляю 0 и преобразую 03-15, удаляя PM. Большое спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

Вы можете использовать try_parse в качестве другой опции, если это столбец varchar.

select try_parse('6/19/2019 3:10:12 PM' as date using 'en-US')
select try_parse('6/19/2019 3:10:12 PM' as time using 'en-US')

Или по вашему запросу

select 
   try_parse('datetimecol' as date using 'en-US'),
   try_parse('datetimecol' as time using 'en-US')
0 голосов
/ 10 ноября 2018

Если я правильно понимаю, вы просто приведете к нужным вам типам:

select cast(datetimecol as date) as datecol,
       cast(datetimecol as time) as timecol
from t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...