Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 преобразование строки в datetime  [new]
oss
Member

Откуда:
Сообщений: 117
есть столбец varchar
upddtg1
4/11/2004 17:20:00
4/11/2004 15:10:00
4/11/2004 23:40:00
4/11/2004 21:14:00
5/11/2004 0:10:00
5/11/2004 4:05:00
4/11/2004 18:36:00
5/11/2004 3:33:00
5/11/2004 2:37:00
4/11/2004 17:30:00
5/11/2004 0:10:00
хочу получить из него поля типа datetime
пытался сделать cast(upddtg1 as datetime) - при селекте ругается
[Microsoft][ODBC SQL Server Driver][SQL Server]The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

подскажите как быть.. спасибо
9 мар 05, 16:58    [1372476]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Из приведенных Вами данных непонятно, что у Вас там mm/dd/yyyy или dd/mm/yyyy

Для первого случая:

SELECT CONVERT(datetime, '4/11/2004 17:20:00', 101)

для второго

SELECT CONVERT(datetime, '4/11/2004 17:20:00', 104)
9 мар 05, 17:03    [1372495]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Konst_One
Member

Откуда:
Сообщений: 11514
а так:

convert(datetime, upddtg1, 104)
9 мар 05, 17:04    [1372503]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Konst_One
Member

Откуда:
Сообщений: 11514
дааа, пока кнопку нажмешь уже кто-то написал
9 мар 05, 17:05    [1372507]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
oss
Member

Откуда:
Сообщений: 117
2pkarklin, большое спасибо.
подскажите где можно почитать про 101б 104 ... ?
9 мар 05, 17:05    [1372508]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
oss
Member

Откуда:
Сообщений: 117
и если тоже самое надо сделать с полем вида
LAST_UDDTG
200411010001
200411010001
200411010001
200411010006
200411010006
200411010006
200411010006
200411010005
200411010005
как тут ?
9 мар 05, 17:09    [1372528]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
cccc
Guest
BOL
9 мар 05, 17:09    [1372530]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
oss
2pkarklin, большое спасибо.
подскажите где можно почитать про 101б 104 ... ?


BOL->CONVERT 3 параметр.

автор
200411010005
200411010005
как тут ?


А что в поледних 4 символах?
9 мар 05, 17:37    [1372652]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
oss
Member

Откуда:
Сообщений: 117
автор
200411010005
200411010005
как тут ?


А что в поледних 4 символах?[/quot]

часы и минуты
9 мар 05, 17:45    [1372681]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
SELECT CONVERT(datetime, STUFF(STUFF('200411010006', 9, 0, ' '), 12, 0, ':'), 101)
9 мар 05, 17:54    [1372716]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Grigoriy
Member

Откуда: Краснодар
Сообщений: 1484
почти такой же вопрос, есть строка, в ней хранится дата в виде dd/mm
как мне сравнить ее с нормальной датой?
я предполагал перевести дату в строку и далее сравнить, но как мне превратить 09/03/2005 в строку по основным трем частям?
т.е. я хочу взять (Day (GetDate()) и превратьи в строку. Прверащаю, получаю "9", а надо "09"
месяц превращаю, получаю "3", а надо "03"
Как это сделать? Я конечно могу к строке прибавить "0", но может есть возможность уже встроенная?
9 мар 05, 17:56    [1372728]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
автор
Прверащаю, получаю "9", а надо "09"

SELECT RIGHT('0' + CAST(9 AS varchar), 2) 
SELECT RIGHT('0' + CAST(12 AS varchar), 2)
9 мар 05, 17:59    [1372747]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
oss
Member

Откуда:
Сообщений: 117
еще раз огромное спасибо !
9 мар 05, 18:00    [1372753]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Grigoriy
Member

Откуда: Краснодар
Сообщений: 1484
праклин, и только так? :(
10 мар 05, 11:49    [1373987]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Glory
Member

Откуда:
Сообщений: 104760
я предполагал перевести дату в строку и далее сравнить, но как мне превратить 09/03/2005 в строку по основным трем частям?
т.е. я хочу взять (Day (GetDate()) и превратьи в строку. Прверащаю, получаю "9", а надо "09"
месяц превращаю, получаю "3", а надо "03"


select convert(char(5), getdate(), 103)
10 мар 05, 11:52    [1374006]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Grigoriy
праклин, и только так? :(


Ась, гигорий?
10 мар 05, 12:02    [1374070]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Grigoriy
Member

Откуда: Краснодар
Сообщений: 1484
Я говорю - это единственный вариант? Ну то есть нет преобразования числа в строку с предустановленным форматом типа "##"?
PS Намек на искажение ника понял, только у тебя он и так с маленькой буквы, а ты имя коверкаешь
10 мар 05, 12:19    [1374170]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ну то есть нет преобразования числа в строку с предустановленным форматом типа "##"?
Есть функция CONVERT()
10 мар 05, 12:22    [1374184]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Grigoriy
Member

Откуда: Краснодар
Сообщений: 1484
Glory
select convert(char(5), getdate(), 103)

Огромное спасибо, то что нужно. Четко и просто.
10 мар 05, 12:23    [1374185]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Grigoriy
Member

Откуда: Краснодар
Сообщений: 1484
Glory
Ну то есть нет преобразования числа в строку с предустановленным форматом типа "##"?
Есть функция CONVERT()


И она может превратить число 7 в строку "007" без дополнительных телодвижений?
10 мар 05, 12:25    [1374199]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Glory
Member

Откуда:
Сообщений: 104760
Grigoriy
Glory
Ну то есть нет преобразования числа в строку с предустановленным форматом типа "##"?
Есть функция CONVERT()


И она может превратить число 7 в строку "007" без дополнительных телодвижений?

Может сами почитаете хелп ?
10 мар 05, 12:26    [1374203]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Grigoriy
Member

Откуда: Краснодар
Сообщений: 1484
Glory
Может сами почитаете хелп ?

Is the style of date format used to convert datetime or smalldatetime data to character data (nchar, nvarchar, char, varchar, nchar, or nvarchar data types), or the string format when converting float, real, money, or smallmoney data to character data (nchar, nvarchar, char, varchar, nchar, or nvarchar data types).

я читать не умею. Но инутитивно догадываюсь, что для int никак не использовать style
Я правильно читаю хелп?
10 мар 05, 13:00    [1374395]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Grigoriy
PS Намек на искажение ника понял, только у тебя он и так с маленькой буквы, а ты имя коверкаешь


А Вы фамилию. ;)

Grigoriy
Я правильно читаю хелп?


Правильно. не допишет Вам CONVERT автоматом нули вперед. Да и не серверное это дело - заниматься форматированием.
10 мар 05, 13:22    [1374511]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
Grigoriy
Member

Откуда: Краснодар
Сообщений: 1484
Пкарклин? Не бывает таких фамилий, по крайней мере на планете Земля
PS Ну не допишет и не надо, бум сами писать и trim'ать...
10 мар 05, 13:49    [1374627]     Ответить | Цитировать Сообщить модератору
 Re: преобразование строки в datetime  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
2 Grigoriy

Заканчиваем хамить!
10 мар 05, 13:52    [1374651]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить