PDA

View Full Version : oR KARDANE DO RESHTE



SADAF
جمعه 31 تیر 1384, 09:15 صبح
SALAM
Aval Az Hame OZR Mikham Ke Injoori Minevisam , Chon Domain System Ro avaz Kardam Va Hanooz Ham Language Ro Set Nakardam .

agar az "|" estefade Karde Bashid Midoonid Ke :
0011 | 1000 = 1011
yani Or Binary
hal man hamin 2 meghdar 0011 va 1000 ro dar dakhele do moteghayer az noe varchar daram va mikham hamin amale OR ro roosh anjam bedam .
Ba Cast Ham Nemishe. Emtehan Kardam
Che Konaaaaaaaaaaaaaaam
mamnoon

majid_afra222
جمعه 31 تیر 1384, 09:27 صبح
سلام
خود sql server عملگر های منطقی رو (&, |, ^) داره. فقط روی اعداد صحیحی کار میکنه(عمل تبدیل به باینری رو خودش انجام میده) فقط کافیه اعداد رو بصورت اولشون (اعداد صحیح) تو بانک نگهداری کنی.
مثال :

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'bitwise')
DROP TABLE bitwise
GO
CREATE TABLE bitwise
(
a_int_value int NOT NULL,
b_int_value int NOT NULL
)
GO
INSERT bitwise VALUES (8, 3)
GO


USE MASTER
GO
SELECT a_int_value | b_int_value
FROM bitwise
GO
(می بخشی نمیدونم چطوری باید تو تگ code قرار بدمشون)
مثال از BOL هستش، روی گزینه OR تو تب index جستجو کن.
امیدوارم بدردت بخوره

SADAF
جمعه 31 تیر 1384, 10:58 صبح
SALAM
Man Be Dalayeli Reshte 0,1 Am Ro Mikham Be Soorate Field e Varchar Dar Table Zakhire Konam.
hal Ke Field e man Reshte ast ( ba inke mohtaviate oon binary ast) amalgare | Nemitoone Do ta Fielde Mano OR Kone
Yani Agar Do Field a,b varchar bashand nemitoonim Begim
Select a|b from Table
Che Kar Konam ?????????

بابک زواری
جمعه 31 تیر 1384, 11:23 صبح
مطالب رو تصحیح کرده و فارسی تاپیک کنید در غیر اینصورت تاپیک رو حذف میکنم

majid_afra222
جمعه 31 تیر 1384, 12:40 عصر
سلام
آقای زواری درست میگن، بهتره فارسی تایپ کنید.
در ضمن آقای زواری عزیز ما چه جوری این کدها رو مثل قدیم تو تگ code بذاریم که خوانا باشه.
و یه نکته دیگه خواهشا تاریخها رو هم فارسی کنید. ممنون.

بر گردیم به سئوال دوستمون، برای اینکه با همون متغیرهای کاراکتری بتونی کار کنی بهتره یه تابع برای تغییر مقادیر کاراکتری به عدد صحیح بنویسی.
اینم تابع مورد نیاز برای تبدیل اعداد کاراکتری دودویی به صحیح :

CREATE FUNCTION StrBinToInt ( @strBin VARCHAR(200))
RETURNS INTEGER
AS
BEGIN
DECLARE @intNumber AS INTEGER
SET @intNumber = 0

DECLARE @intNumBit AS INTEGER
SET @intNumBit = 0

DECLARE @intPow AS INTEGER
SET @intPow = 0
DECLARE @i AS INTEGER
SET @i = LEN(@strBin)

WHILE @i > 0
BEGIN
SET @intNumBit = SUBSTRING(@strBin, @i, 1)
SET @intNumber = @intNumber + @intNumBit * POWER(2, @intPow)
SET @intPow = @intPow + 1
SET @i = @i - 1
end
RETURN @intNumber
END

برای فراخوانی هم :

SELECT dbo.StrBinToInt(a_int_value) | dbo.StrBinToInt(b_int_value)
FROM bitwise

امیدوارم بدردت بخوره.

SADAF
جمعه 31 تیر 1384, 13:13 عصر
Cheghadr Bad Kholgh Hastid.agar matne avvalam ro mikhoondid gofte boodam ke farsi NADARAM
dooste aziz mamnoon az rahnamaeetoon.vali man Be Hame in ravesh ha fekr kardam vali javab gooye man nist. chon man yek reshte shamele 360 karakter e 0,1 daram ke dar ghalebe hich type adadi nemigonge

Ey Kash sql rahi baraye in kar dasht
man be in fekr mikonam ke az | bayad betoonam estefade konam chon tanha rahe hale
mamnoon

reis hala mitooni del koni ina ro chon man ham dige tarjih midam too in bakhsh chizi nanevisam

بابک زواری
جمعه 31 تیر 1384, 14:38 عصر
دوست عزیز برای اینکه کدهاتون رو درست نمایش داده بشه بین دوتا تگ قرار بدید مثل پائین
[/code]


[code]

البته باید اول پائینی رو بنویسید بعد بالایی رو واگر من جابجا میکردم همان طور نمایش میداد مجبور شدم که آخری رو اول و اول رو آخر بنویسم