Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Конвертировать текстовое поле в дату / 14 сообщений из 14, страница 1 из 1
26.04.2018, 16:12
    #39636851
Tishh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
Мне нужно текстовое поле вывести в виде даты, чтобы ее сравнить с датой из другой таблицы. Данные записаны в виде 25/04/2018

Если использовать следующее
Код: sql
1.
SELECT CAST(CONVERT(CHAR(8),CONVERT(DATE,'25.04.2018',104),112) AS INT)


Получилось: 20180425

Код: sql
1.
SELECT CONVERT(varchar(10),[Analysis Date],101) from csv1


Выводит данные в таком виде: 25/04/2018

Пыталась связать их, но:
Код: sql
1.
SELECT CAST(CONVERT(CHAR(8),CONVERT(DATE, CONVERT(varchar(10),[Analysis Date],101),104),112) AS INT) from csv1


Вывело ошибку:Msg 241, Level 16, State 1, Line 1
Conversion failed when converting date and/or time from character string.

Что-то запуталась с датами
...
Рейтинг: 0 / 0
26.04.2018, 16:21
    #39636861
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
Код: sql
1.
CONVERT(DATE,'25/04/2018',103)

После этого сравнивать с чем-то типа DATE (DATETIME и т.п.)
...
Рейтинг: 0 / 0
26.04.2018, 16:31
    #39636872
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
PARSE() SQL2012+
...
Рейтинг: 0 / 0
26.04.2018, 16:46
    #39636880
Tishh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
SELECT PARSE([Analysis Date] AS datetime) AS [result_name] FROM csv1

SELECT CONVERT(DATE,CONVERT(varchar(10),[Analysis Date],101),103) from csv1


не работает (
...
Рейтинг: 0 / 0
26.04.2018, 16:49
    #39636884
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
[Analysis Date] какой тип ?

и зачем этот кошмар?

Код: sql
1.
SELECT CONVERT(DATE,CONVERT(varchar(10),[Analysis Date],101),103) from csv1
...
Рейтинг: 0 / 0
26.04.2018, 16:53
    #39636885
Tishh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
Konst_One,

[Analysis Date] - поле типа varchar(50)
...
Рейтинг: 0 / 0
26.04.2018, 16:54
    #39636886
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
TishhKonst_One,

[Analysis Date] - поле типа varchar(50)

и что там за значения лежат?
...
Рейтинг: 0 / 0
26.04.2018, 16:56
    #39636888
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
вот так проверяли?
Код: sql
1.
select CONVERT(DATE,[Analysis Date],103) as [дата] from csv1
...
Рейтинг: 0 / 0
26.04.2018, 16:56
    #39636889
Tishh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
Konst_One,

Данные записаны в виде 25/04/2018

Эта таблица у меня образуется в результате импорта
...
Рейтинг: 0 / 0
26.04.2018, 16:58
    #39636890
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
TishhSELECT PARSE([Analysis Date] AS datetime) AS [result_name] FROM csv1

SELECT CONVERT(DATE,CONVERT(varchar(10),[Analysis Date],101),103) from csv1


не работает (
Неужели?

Код: sql
1.
2.
3.
SELECT PARSE('25/04/2018' AS datetime using 'ru-ru') AS [result_name]

SELECT CONVERT(DATE,CONVERT(varchar(10),'25/04/2018',101),103)



А что у вас там в csv, уж сами разбирайтесь.
...
Рейтинг: 0 / 0
26.04.2018, 17:03
    #39636894
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
ну, или
Код: sql
1.
2.
3.
4.
declare @sd varchar(50) = '25/04/2018'

set dateformat dmy
if cast(@sd as date) < getdate() print 'yes'
...
Рейтинг: 0 / 0
26.04.2018, 17:05
    #39636895
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
давайте показывайте ваши данные:

Код: sql
1.
select top(10) [Analysis Date]  from csv1
...
Рейтинг: 0 / 0
26.04.2018, 17:06
    #39636896
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
Гавриленко Сергей АлексеевичА что у вас там в csv, уж сами разбирайтесь.
Да и вообще, халява же:

Код: sql
1.
select * from csv where try_parse([Analysis Date] AS datetime using 'ru-ru') is null
...
Рейтинг: 0 / 0
26.04.2018, 17:08
    #39636898
Tishh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертировать текстовое поле в дату
Разобралась наконец в том, что мешало. Думала, что это не будет иметь значения и мешать этому.

Во время импорта данных почему-то в оду из строк записывались сами заголовки. Я вручную удалила эту строку и заработала команда.

Всем спасибо за помощь!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Конвертировать текстовое поле в дату / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]