SQL Server: дата-время, миллисекунд AM / PM, приведение

Это то, что я сделал, и это помогло мне узнать, что нужно моему Apache-PHP:

C:\Users\Admin>cd C:\wamp\bin\apache\apache2.4.9\bin

C:\wamp\bin\apache\apache2.4.9\bin>httpd -t
Syntax OK

C:\wamp\bin\apache\apache2.4.9\bin>httpd -k start
[Thu Apr 23 14:14:52.150189 2015] [mpm_winnt:error] [pid 3184:tid 112] 
(OS 2)The system cannot find the file specified.  : AH00436: 
No installed service named "Apache2.4".

C:\wamp\bin\apache\apache2.4.9\bin>

Самое простое решение:

Удалить и переустановить WAMP (do даже не пытайтесь установить его поверх существующей установки - это не помогло бы)

PS

Если вам интересно, как я попал в эту ситуацию, вот ответ: I пытался установить WAMP, и это вызывает у меня ошибку в середине установки, говорящей:

httpd.exe - System Error

The program can't start because MSVCR110.dll is missing from your computer. 
Try reinstalling the program to fix this problem.

OK

Я получил и установил Microsoft Visual C ++ 2012, распространяемый отсюда http://www.microsoft. com / en-us / download / details.aspx? id = 30679 #

И он дал мне «dll», и MYSQL начал работать, но не Apache. Чтобы заставить Apache работать, я удалил и переустановил WAMP.

2
задан shanlodh 5 March 2019 в 15:08
поделиться

2 ответа

Чтобы сделать его конвертируемым в DATETIME:

  • точки заменены двоеточием
  • 0000 удалено

SQL

-- results to: 2017-12-21 11:09:52.003
SELECT CAST(REPLACE(REPLACE('21-DEC-17 11.09.52.020000 AM', '.', ':'), '0000', '') AS DATETIME);

В случае, если тип DATETIME недостаточно точен, рассмотрите возможность использования подхода DATETIME2, опубликованного в другом ответе

.
0
ответ дан Alexander Volok 5 March 2019 в 15:08
поделиться

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

WITH N AS
    (SELECT N
     FROM (VALUES (NULL),
                  (NULL),
                  (NULL),
                  (NULL),
                  (NULL),
                  (NULL),
                  (NULL),
                  (NULL),
                  (NULL),
                  (NULL)) N (N) ),
Tally AS
    (SELECT TOP 200
            ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS I
     FROM N N1,
          N N2,
          N N3)
SELECT S.YourDate,
       TRY_CONVERT(datetime2(7), S.YourDate, I) AS ConvertedDate,
       I AS StyleCode
FROM Tally
     CROSS APPLY (VALUES ('21-DEC-17 11.09.52.020000 AM')) V(YourDate)
     CROSS APPLY (VALUES (STUFF(STUFF(V.YourDate, 13, 1, ':'), 16, 1, ':'))) S(YourDate)
WHERE TRY_CONVERT(datetime2(7), S.YourDate, I) IS NOT NULL;

Правка: фактически, если вы измените эти 2 ., вы не сможете даже не нужен код стиля, по крайней мере, на моем экземпляре и языке; но я предполагаю, что со значением типа DEC вы используете английскую производную:

SELECT S.YourDate,
       TRY_CONVERT(datetime2(7), S.YourDate) AS ConvertedDate
FROM (VALUES ('21-DEC-17 11.09.52.020000 AM')) V (YourDate)
     CROSS APPLY (VALUES (STUFF(STUFF(V.YourDate, 13, 1, ':'), 16, 1, ':'))) S (YourDate);
0
ответ дан Larnu 5 March 2019 в 15:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: