0 / 0 / 0
Регистрация: 14.03.2010
Сообщений: 24
|
|
1 | |
Проблемы с функцией CONVERT !!! (Тема с изнова)31.08.2010, 13:27. Показов 1366. Ответов 6
Метки нет (Все метки)
Есть 2 эдентичные таблицы.
А всего то и разница - PK на первом поле ! Все работает в одной таблице отлично (без PK), но все то же самое не работает в другой таблице ! после кода : SELECT CONVERT(smalldatetime, COLUMN_NAME, 105) + 15 FROM TABLE_NAME получаю : Server: Msg 295, Level 16, State 3, Line 1 Syntax error converting character string to smalldatetime data type. Так где собака порылась ? Неужели индекс играет со мной злую шутку ? Заранее благодарен . P.S. Что самое интересное: В EM отрабатывает нормально. А в QA выдает ошибку. Заранее признателен Лео.
0
|
31.08.2010, 13:27 | |
Ответы с готовыми решениями:
6
Проблемы с функцией Проблемы с функцией mail() Проблемы с мытематической функцией Проблемы с функцией swap |
0 / 0 / 0
Регистрация: 13.02.2008
Сообщений: 44
|
|
02.09.2010, 11:51 | 2 |
Лео! Проверь данные в таблице. Они могут не соответсвовать тому формату, из которого ты переводишь (всего одна строчка) и весь запрос у тебя отбрасывается.
Разбери сонтаксически строку и проверь, число, где должен стоять месяц не больше ли 12 Это самая распространенная байда...
0
|
4 / 4 / 0
Регистрация: 15.10.2008
Сообщений: 282
|
|
02.09.2010, 18:07 | 3 |
>>В EM отрабатывает нормально.
>>А в QA выдает ошибку. Пoпoдрoбней, пoжaлуйстa...
0
|
0 / 0 / 0
Регистрация: 14.03.2010
Сообщений: 24
|
|
04.09.2010, 11:23 [ТС] | 4 |
2 Zaq
Да нет, все впорядке с датой. Беру из ДБ строчку '13/06/2004', вставляю в : SELECT CONVERT(smalldatetime, '13/06/2004', 105) + 15 FROM TABLE_NAME Обрабатывает в Query Analyzer на 'Ура' А вот если вместо определенной даты вставляю Имя Столбца (COLUMN_NAME), получаю ошибка ... (
0
|
0 / 0 / 0
Регистрация: 14.03.2010
Сообщений: 24
|
|
04.09.2010, 11:29 [ТС] | 5 |
2 Mike_R
пишу в Query Analyzer: SELECT CONVERT(smalldatetime, COLUMN_NAME, 105) + 15 FROM TABLE_NAME Выдает : Server: Msg 295, Level 16, State 3, Line 1 Syntax error converting character string to smalldatetime data type. Записываю в Enterprise Manager, в Query данной таблицы, то же выражение - срабатывает без проблем . В чем тут дело ? Спасибо, Лео
0
|
0 / 0 / 0
Регистрация: 14.03.2010
Сообщений: 24
|
|
05.09.2010, 11:13 [ТС] | 6 |
Все, Нашел !!!
Так и есть ! Нашел строковое значение в поле ДАТЫ не соответствующее моему формату, Мой Формат, например14/06/2004). Спасибо Вам . Простите за назойливость, каким образом я могу избежать таких казусов ? можно ли создать процедуру которая проверяла бы мой формат к примеру прежде чем я делаю CONVERT ? Заранее блогодарен Лео
0
|
0 / 0 / 0
Регистрация: 13.02.2008
Сообщений: 44
|
|
06.09.2010, 11:16 | 7 |
Можно.
Но проще создать правило для столбца в таблице (того, который хранит твою строковую дату), чтобы оно отбрасывало строки с плохой датой. Тогда данные в столбце всегда будут консистентны.
0
|
06.09.2010, 11:16 | |
06.09.2010, 11:16 | |
Помогаю со студенческими работами здесь
7
Проблемы с функцией FindWindowEx Проблемы с функцией ВПР() Проблемы с функцией рандома Проблемы с функцией eval() Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |