Пожалуйста, прости меня за мой dunglish, я голландец.
У меня есть таблица, которая выглядит так:
CREATE TABLE [dbo].[WSLogons]
(
[Date] [nchar](15) NULL,
[Time] [nchar](15) NULL,
[Username] [nchar](15) NULL,
[Domain] [nchar](15) NULL,
[Computer] [nchar](15) NULL,
[HostComputerName] [nchar](15) NULL
) ON [PRIMARY]
Нет первичного ключа.
Я заполняю эту таблицу некоторыми пользовательскими данными, и я сделал большую ошибку, многократно, но я сталкиваюсь с тем фактом, что мои столбцы даты и времени заполнены неправильно.
Это решено, но в моей базе данных у меня другая датаи форматы времени.и я запрашиваю функцию преобразования даты и времени.
Это не работает, потому что в некоторых строках у меня есть значения даты и времени, например:
5/18/2018 9:00 AM
5/18/2018 8:28 AM
, а в некоторых вправильно, как это
18-05-2018 14:52
, как я уже говорил, я запрашиваю информацию с заказом по и преобразовать
order by CONVERT(date, Date, 105) desc
Если в результатах указаны дата и время с нотацией США, Я получаю ошибку формата.
Теперь я, как вы можете видеть, не гуру SQL.Я исправил скрипт, заполняющий таблицу, но теперь я хочу преобразовать неправильные даты в правильный формат, чтобы данные сохранялись.
Я хотел бы получить хороший результат в запросе с этим оператором.
SELECT
CONVERT(date, [Date] ,101) as datum
,[Time]
,[Username]
,[Domain]
,[Computer]
,[HostComputerName]
FROM
[AuditLogons].[dbo].[WSLogons]
WHERE
date LIKE '%/%/%'
AND Time LIKE '%:% AM%' OR Time LIKE '%:% PM%'
Теперь столбец datum
представлен как
2018-05-18 11:59 AM
2018-05-18 1:25 PM
Как мне отсюда обновить эти строки при форматировании даты, например 18-5-2018
?
Если я пытаюсь преобразовать в
CONVERT(date, [Date], 105)
, я тоже получаю сообщение об ошибке.
Надеюсь, вы понимаете мою проблему, и я надеюсь на некоторую помощь
Большое спасибо.Роджер