Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Veritabanları & SQL

Cevapla
 
LinkBack Seçenekler
Eski 25/04/2003, 17:25   #1 (permalink)
.
 
Hard`n`Dark Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 08/2002
Yer: 34
Mesaj: 343
Varsayılan mysql'de sorgu olayi..

bi tabloda varchar tipinde bir alan tutuyorum ve burda rakamlar disinda herhangi bir ifadenin tutulmayacagini garanti ediyorum.
yani bu alanda 1,2,3, gibi sayilarin yani sira 004, 005 gibi string ifadeleri de ayni zamanda tutuyorum.

sorum su : bana bastaki sifirlari attiktan sonra en buyuk sayinin oldugu alani dondurecek select ifadesi nasil olmali ?
select max(alan) from tablo bana dogal olarak 3'u donduruyor..
ama ben 005'in donecegi bi sorgu yapmak istiyorum..
__________________
.

Enson 25/04/2003 17:28 tarihinde Hard`n`Dark tarafından düzenlenmiştir..
Hard`n`Dark hatta değil   Alıntı Yaparak Yanıtla
Eski 25/04/2003, 17:36   #2 (permalink)
Luke is back...
 
mkarabulut Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2002
Yer: ../Dark_Side
Mesaj: 2,443
Varsayılan

cast veya convert gibi bir tür dönüşüm fonksiyonu ile çevrilise olabilir belki.. (yalnız mysql'in 4.x bir versiyonunda sonra destekleniyordu)
Kod:
SELECT cast(alanadi AS INT) as yenialan FROM tablo
ORDER BY yenialan
LIMIT 1
gibi bir sorgu olabilir..
__________________
Do or do not. There is no try.
mkarabulut hatta değil   Alıntı Yaparak Yanıtla
Eski 25/04/2003, 17:52   #3 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Bu tip seyler, genelde tasarim hatalarinin varligina isarettir.
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 25/04/2003, 17:55   #4 (permalink)
...
 
HunTER Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 08/2002
Yer: İstanbul
Mesaj: 8,753
Varsayılan

Hanı cast() fonksıyonu calısmıyodu mysql de?
HunTER hatta değil   Alıntı Yaparak Yanıtla
Eski 25/04/2003, 18:02   #5 (permalink)
Luke is back...
 
mkarabulut Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2002
Yer: ../Dark_Side
Mesaj: 2,443
Varsayılan

az önce dokumantasyona baktım..
4.0.6 versiyonundan sonra bu fonksiyon geçerli imiş...

Sanırım daha önce çalışmaması da bir versiyon sorunu idi(benim denediğim versiyonu 3.23 idi çünkü)
__________________
Do or do not. There is no try.
mkarabulut hatta değil   Alıntı Yaparak Yanıtla
Eski 25/04/2003, 18:22   #6 (permalink)
...
 
HunTER Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 08/2002
Yer: İstanbul
Mesaj: 8,753
Varsayılan

Aynı versıyonu kullanıyormusuz (v3.23).. Sanırım bende de bu yuzden calısmıyor..
HunTER hatta değil   Alıntı Yaparak Yanıtla
Eski 26/04/2003, 09:48   #7 (permalink)
.
 
Hard`n`Dark Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 08/2002
Yer: 34
Mesaj: 343
Varsayılan

Alıntı:
Orjinal mesajı gönderen acemi5
Bu tip seyler, genelde tasarim hatalarinin varligina isarettir.


burda tuttugum alan adi, adisyon numaralarini ifade ediyor.

kural da ilk mesajimda soyledigim gibi. bunlari kullanici girecek. benim urettirmem gibi bir durum soz konusu degil. kullanici her yeni adisyon kayiti girecegi zaman tablodaki en buyuk adisyon numarasinin bir fazlasinin kullaniciya onerilen numara olarak verilmesi gerekiyor. basamak sayisinin kesinligi hakkinda da bir sey yok.

tasarim acisindan bir sorun olmadigini dusunuyorum, ancak bu tur kucuk bir takla'ya gerek kalmamasi icin nasil bir cozum onerirsiniz?
__________________
.

Enson 26/04/2003 09:55 tarihinde Hard`n`Dark tarafından düzenlenmiştir..
Hard`n`Dark hatta değil   Alıntı Yaparak Yanıtla
Eski 26/04/2003, 16:46   #8 (permalink)
...
 
HunTER Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 08/2002
Yer: İstanbul
Mesaj: 8,753
Varsayılan

Soyle bısey olabılır.. Formdan gelen adisyon numarasını settype() kullanarak sayısala cevırebılırsın..

Yanı kullanıcı adısyon_no adlı metın kutusuna "001" degerını gırdıgınde:

PHP Kodu:
setype($_POST["adisyon_no"],int);
echo 
$_POST["adisyon_no"]; // Cıktı 1 olucaktır 
dıyebılırsın.. Bu sekılde bırkere sayısala cevırdıgın adısyon numaralarını..

PHP Kodu:
$adisyon_no mysql_result(mysql_query("select max(adisyon_no) from tablo),0");
echo ++
$adisyon_no
Dıyerek cekebılırsın.. Tabı tablodakı alanın tıpını de int yapman gerekır..

Enson 26/04/2003 16:49 tarihinde HunTER tarafından düzenlenmiştir..
HunTER hatta değil   Alıntı Yaparak Yanıtla
Eski 26/04/2003, 19:57   #9 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Adisyon numarasi, sirayla giden sayilarsa, alan sayisal olmaliydi. O zaman sira derdi kalmazdi.
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 26/04/2003, 20:01   #10 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Zerofill'i de bir incele
acemi hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
pointer olayi? lucyanobg C / C++ 13 30/01/2006 09:38
sorgu calıştırıldığında sorgu calıştırma sayısını 1 artırma pirilti Veritabanları & SQL 6 20/06/2005 16:28
MySQL'de daha fonksiyonel sorgu.. UltraFree PHP 0 07/02/2005 09:53
Sorgu icinde sorgu kullanmak pirilti Veritabanları & SQL 4 01/08/2004 17:23
iframe olayi CrazyBooT Web Tasarım 17 17/09/2003 02:54


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 20:45.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net