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

Откуда: Санкт-Петербург
Сообщений: 38
Есть закрытый программный продукт с таблицей технологических параметров (Process Data).
В данном ПО фильтр фильтрует все данные как текстовые, в том чисел и числа:
[IMG]http://s2.ipicture.ru/uploads/20130618/0jNTw6dY.jpg[/IMG]
На SQL-server таблица имеет следующий вид:
[IMG]http://s2.ipicture.ru/uploads/20130618/thumbs/8VBWsSxB.jpg[/IMG]
[IMG]http://s2.ipicture.ru/uploads/20130618/jwWSWHxu.jpg[/IMG]
Необходимо что бы столбец NewValue типа данных nvchar(300) имел также тип данных int для чисел... , что бы можно было фильтровать
текстовые данные. Привожу ниже представление данной в табл в программе:
[IMG]http://s2.ipicture.ru/uploads/20130618/B67LVaTb.jpg[/IMG]
Если какие либо способы задание текстового и численного типа данных в одном столбце?
Заранее спасибо за ответ!

К сообщению приложен файл. Размер - 19Kb
18 июн 13, 14:35    [14448127]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Crimean
Member

Откуда:
Сообщений: 13148
добавить +1 столбец
18 июн 13, 14:35    [14448133]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Cosmosila
Member

Откуда: Санкт-Петербург
Сообщений: 38
Моя программа не видит новые столбцы
18 июн 13, 14:37    [14448146]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cosmosila
Если какие либо способы задание текстового и численного типа данных в одном столбце?

Нет. Цифры спокойно можно хранить и в символьном поле
А для правильной сортировки такого поля нужно просто добавлять цифры правильно - "выравнивать" их.
18 июн 13, 14:40    [14448165]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Cosmosila
Member

Откуда: Санкт-Петербург
Сообщений: 38
На SQL-server таблица имеет следующий вид:

К сообщению приложен файл. Размер - 131Kb
18 июн 13, 14:43    [14448181]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Cosmosila
Member

Откуда: Санкт-Петербург
Сообщений: 38
Сортировка только по тексту работает а мне нужно по числам и по тексту относительно столбца NewValue....
18 июн 13, 14:44    [14448199]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cosmosila
Сортировка только по тексту работает а мне нужно по числам и по тексту относительно столбца NewValue....

Читайте ответ еще раз
18 июн 13, 14:46    [14448210]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Cosmosila
Member

Откуда: Санкт-Петербург
Сообщений: 38
Glory
Cosmosila
Если какие либо способы задание текстового и численного типа данных в одном столбце?

Нет. Цифры спокойно можно хранить и в символьном поле
А для правильной сортировки такого поля нужно просто добавлять цифры правильно - "выравнивать" их.

Вы бы не могли уточнить что подразумевается под правильным выравниванием цифр? Я вот только совсем недавно начал разбираться с SQL-server
18 июн 13, 14:51    [14448239]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cosmosila
Вы бы не могли уточнить что подразумевается под правильным выравниванием цифр?

Все "числа" должны быть выравнены по правому краю вашего поля
18 июн 13, 14:53    [14448259]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1873
declare @t table (Val varchar(10))
insert into @t values('         1') 
insert into @t values('        21') 
insert into @t values('         2') 
insert into @t values('    1111') 
insert into @t values('        91') 
insert into @t values('abcd') 
insert into @t values('wqewr') 
18 июн 13, 14:53    [14448260]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
baracs
Member

Откуда: Москва
Сообщений: 7204
Cosmosila
Необходимо что бы столбец NewValue типа данных nvchar(300) имел также тип данных int для чисел... , что бы можно было фильтровать
текстовые данные.
Вы хотите убрать из выборки строки с текстовыми данными в этом поле?

Тут вот, коллекция ссылок на обсуждения похожих проблем.
18 июн 13, 14:55    [14448279]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2995
Cosmosila
Если какие либо способы задание текстового и численного типа данных в одном столбце?


sql_variant
тест

declare @t table(col1 sql_variant)

insert into @t(col1) values
(1),
(2),
(3),
(11),
(22)

insert into @t(col1) values
('aa'),
('bb'),
('a1'),
('1a')

select * from @t t order by col1


col1
1a
a1
aa
bb
1
2
3
11
22



но у Вас проблема, что сортирует приложение, а не сервер и Вам вряд ли это поможет. Остаётся одно - выравнивание, как уже говорили
18 июн 13, 15:06    [14448370]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4728
Cosmosila,

в access я делала так
поле содержало смесь цифр и букв--причем это от меня не зависело
номердатапоставщик
101/01/2012Рога и копыта
10101/01/2012
102/1201/01/2012
102/а01/01/2012ооо Снежинка
000000101/01/2012тоо Ягодка
000002/12
и еще множество вариантов


сделали так
select 10000000000+val(nomer) , nomer ,data1,post,summa from tab1 
order by 10000000000+val(nomer) , nomer
18 июн 13, 15:25    [14448520]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Cosmosila
Member

Откуда: Санкт-Петербург
Сообщений: 38
А при выравнивании числа будут фильтроваться как числа или как текст? Основная задача всего это мероприятия получить математический фильтр (по возрастанию, по убыванию, больше числа, меньше числа), по сколько в ПО не работает математика.
В одной из таблиц данного ПО с другой структурой таблицы менял nvchar на int , и получал рабочий математический фильтр. В данном случая структура таблицы не позволяет такое сделать поскольку в столбце присутствуют текстовые данные....
18 июн 13, 15:31    [14448583]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cosmosila
А при выравнивании числа будут фильтроваться как числа или как текст?

Да нет никаких чисел в текстовом поле. Есть символы соответствующие цифрам.
Как напишите фильтр, так и будет фильтроваться
18 июн 13, 15:34    [14448602]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Cosmosila
Member

Откуда: Санкт-Петербург
Сообщений: 38
Разработчик данного ПО называет такую структуру данных EAV (http://en.wikipedia.org/wiki/Entity–attribute–value_model) но в течении уже более 2 лет не фиксит математическую фильтрацию.
Насколько я понял из выше перечисленного надо копать в сторону символьного фильтра данных?
18 июн 13, 16:19    [14449024]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
Cosmosila
А при выравнивании числа будут фильтроваться как числа или как текст? Основная задача всего это мероприятия получить математический фильтр (по возрастанию, по убыванию, больше числа, меньше числа), по сколько в ПО не работает математика.
В одной из таблиц данного ПО с другой структурой таблицы менял nvchar на int , и получал рабочий математический фильтр. В данном случая структура таблицы не позволяет такое сделать поскольку в столбце присутствуют текстовые данные....
Похоже, Вы не в курсе как сравниваются строки (в том числе и для упорядочивания в ORDER BY)? Вообще-то, это странно.
Вот, я когда-то разразился тирадой по этому поводу: 14208600
Чтобы сравнивать последовательности цифр подобно соостветствующим им числам,
надо обеспечить их одинаковую длину, дополняя их со стороны старшего разряда нулями.
18 июн 13, 16:22    [14449045]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cosmosila
Насколько я понял из выше перечисленного надо копать в сторону символьного фильтра данных?

А что такое _символьный_ фильтр данных ?
18 июн 13, 16:26    [14449084]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Cosmosila
Member

Откуда: Санкт-Петербург
Сообщений: 38
Не совсем понимаю как я вызывать буду мною написанный SQL - запрос, если программный код моего ПО закрыт для редактирования.
Есть ли какие либо предложения по этому поводу?
Заранее спасибо за ответ.
26 июн 13, 11:26    [14484768]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
Cosmosila
Не совсем понимаю как я вызывать буду мною написанный SQL - запрос, если программный код моего ПО закрыт для редактирования.
Есть ли какие либо предложения по этому поводу?
Заранее спасибо за ответ.
Если программный код вашего ПО закрыт для редактирования, то обратитесь к его разработчикам, пока ничего не сломали.
26 июн 13, 11:28    [14484788]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
Cosmosila
Member

Откуда: Санкт-Петербург
Сообщений: 38
Разработчик не может пофиксить или не хочет данную проблему больше года, нет времени ждать нужно искать обходные пути!
Есть вариант фильтрации по созданному дополнительному текстовому столбцу до загрузки данных в по, но пользователи хотят иметь самостоятельную возможность фильтрации в данной программе.
26 июн 13, 11:34    [14484830]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
Cosmosila
Есть ли какие либо предложения по этому поводу?
Заранее спасибо за ответ.
Вы бы рассказали, что вам всё таки надо. Сортировка, фильтр, ещё что то? Только не картинками.
Но не факт, что поможет, отображение зависит от приложения, и не факт, что его удастся обмануть.

Cosmosila
Разработчик данного ПО называет такую структуру данных EAV (http://en.wikipedia.org/wiki/Entity–attribute–value_model) но в течении уже более 2 лет не фиксит математическую фильтрацию.
Ага, и это тоже давайте - скрипты создания таблиц, запросы, которые возвращают данные.

ЗЫ. Если вы так же рассказываете разработчикам, то возможно они тоже не понимают, что от них требуется?
ЗЫЫ. Вот она, гибкость EAV, типа пользователи могут всё поменять сами :-) :-) :-)
26 июн 13, 14:18    [14486545]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
не поминай EAV в суе
Guest
alexeyvg,
Если пользователи сами не могут преобразовать поток сознания в четкое ТЗ, то причем здесь EAV?
Сорри за офф
26 июн 13, 14:47    [14486776]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
не поминай EAV в суе
alexeyvg,
Если пользователи сами не могут преобразовать поток сознания в четкое ТЗ, то причем здесь EAV?
Сорри за офф
Ну просто некоторые пишут, что как раз EAV нужно использовать для того, что бы не нужно было писать ТЗ разработчикам. Типа разработчики пишут "ядро", а бизнес логику пользователи могут в любой момент поменять...
26 июн 13, 15:00    [14486903]     Ответить | Цитировать Сообщить модератору
 Re: Как задать столбцу типа nvchar одновременно текстовый и численный типы данных?  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
если я правильно понял, автор хочет каким-то магическим образом поменять столбец, чтобы внешнее ПО, использующее этот столбец начало сортировать по нему правильно


Cosmosila
Если какие либо способы задание текстового и численного типа данных в одном столбце?"

есть способы, РАЗНОЙ обработки данных, содержащихся в столбце, терзайте своих разработчиков
26 июн 13, 15:16    [14487078]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить