Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 17:43 24.06.24 
Компютри и Интернет
   >> Бази данни
Всички теми Следваща тема *Кратък преглед

Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема Decimal separator TSQL  
АвторStudent (Нерегистриран)
Публикувано27.03.07 11:33



Здравейте някой да знае как да разбера "Decimal separator" в TSQL ( MsSql ), зависи от Regional Settings на компа но аз бих искал да го видия с "select "


Благодаря предварително!



Тема Re: Decimal separator TSQLнови [re: Student]  
АвторDess (Нерегистриран)
Публикувано03.04.07 13:21



select-a se izpylniava na servera, a ti veroiatno pitash za nastroiki na klientskata mashina.
ami niama na4in... survera vryshta danni, i ne se interesuva kak shte gi prezentira klienta.



Тема Re: Decimal separator TSQL [re: Student]  
Автор wqw (АзСъмЖив)
Публикувано03.04.07 17:03



На сървъра на който е инсталиран MSSQL или на клиентската машина от която се изпълнява заявката?

Ако е на сървъра на кой потребител регионалните настройки?

cheers,
</wqw>




Тема Re: Decimal separator TSQL [re: Student]  
Автор TPECKATA (втрещен)
Публикувано03.04.07 17:15



Въпреки че не знам за какво би ти свършило работа, да получиш тази информация точно със SQL, опитай с нещо такова:

SELECT SUBSTRING(STR(1/2), 2, 1) AS DecPoint

В Интернете много психов,
Каждый пятый - это псих.
Говори со мною тихо,
Может я один из них.


Тема Re: Decimal separator TSQL [re: TPECKATA]  
Автор wqw (АзСъмЖив)
Публикувано03.04.07 17:49



Едно (not tested) щеше да е достатъчно да разберем, че не е сигурно дали работи под MSSQL. Това което си искал да кажеш вероятно е това:

SELECT SUBSTRING(CAST(1.0/2 AS VARCHAR), 2, 1) AS DecPoint

Забележи 1.0/2 щото иначе е целочислено. Забележи CAST от ANSI SQL. И последна забележка, не работи понеже не се съобразява с никакви регионални настройки -- нито на default профила, нито на потребителя, чийто security context ползва service-а.

cheers,
</wqw>




Тема Re: Decimal separator TSQLнови [re: wqw]  
Автор TPECKATA (втрещен)
Публикувано03.04.07 18:30



Значи в момента нямам подръка MSSQL за да го изтествам, но както си се сетил да ползваш CAST за да обърнеш към char тип, така може да го използваш за да укажеш, че 1 е всъщност константа от тип float
"нещо такова" не ти ли говори, че е not-tested? Или изрично трябва да укажа?

Не ти ли стига да се заяждаш в bgdev, btw.?! Знам че си перфекционист, ама...
...нито ти, нито аз знаем, за какво точно му трябва да разбере какъв е decimal point символа с SQL. А също и дали го интересува този който е на сървъра, или му трябва за да може да подава числови константи в SQL стрингове, които образува динамично в приложението си.

В Интернете много психов,
Каждый пятый - это псих.
Говори со мною тихо,
Может я один из них.

Редактирано от TPECKATA на 03.04.07 18:36.



Тема Re: Decimal separator TSQLнови [re: TPECKATA]  
Автор wqw (АзСъмЖив)
Публикувано03.04.07 18:49



Не бе, не се заяждам. Малко на ego-trip съм го обърнал и съм извадил ятагана в името на правдата :-))

Btw, нищо лично (тука без да искам написах "нещо":-)) -- не те познавам.

cheers,
</wqw>




Тема Re: Decimal separator TSQLнови [re: wqw]  
АвторStudent (Нерегистриран)
Публикувано04.04.07 09:50



Здравейте първо искам да благодаря за отговорите !

Интересуваше на самия Сървър Decimal Point'a.
Идеята е следната правя

" insert ....
Select *
From OPENROWSET( Excel File ) .... "

в този Excel файл има колони които са decimal с раздалител ',' или '.' в зависимост от настройките на клиента. След това пускам function за тест дали има CharIndex( DecPoint ) > 0 ако да си ги вкарвам ако не Replace и готово.



Тема Re: Decimal separator TSQLнови [re: Student]  
АвторStudent (Нерегистриран)
Публикувано04.04.07 10:10



Само да допълня :
CAST(1.0/2 AS VARCHAR ) работи само ако вече знаеш предварителния резултат.

за да е точно :
SELECT SUBSTRING(CAST(1/2 AS VARCHAR), 2, 1) AS DecPoint = '0'

Ето това е правилното и работи в TSQL :
Select Substring( Cast(Cast(1 as float)/2 as varchar), 2, 1 ) As DecPoint = '.'

Но нямаше да стигна до този извод без да ми дадете напътване


Много много 10х



Тема Re: Decimal separator TSQL [re: Student]  
Автор wqw (АзСъмЖив)
Публикувано04.04.07 12:05



OPENROWSET като VARCHAR ли ти ги връща? Щото ако не пипаш IMEX се опитва да отгатне какъв е типа на колоната (по първите 10-15 стойности) и вероятно идва като FLOAT. Нали ползваш OLEDB provider-а на JET за тези XLS файлове?

Ако все пак е VARCHAR не е нужно да проверяваш каквото и да било преди да направиш брутално REPLACE(REPLACE(t.MyColumn, ',', @DecPoint), '.', @DecPoint) или подобно :-))

cheers,
</wqw>





Страници по тази тема: 1 | 2 | >> (покажи всички)
Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.