string alanı saysal gibi sıralama
string alanı saysal gibi sıralama
Elimde string bir alan var burada öğrenci numaralrını tutuyorum.Sql ile nasıl sıralama yaptırabilirim.Yani alanı sayı gibi göstererek.VT Access
kayıltar şöyle
misalen
1
5
10
2
a1
e1
c1
sql ile sıralama yaptırdığımda sıralama şöyle olmalı
1
2
5
10
a1
c1
e1
kayıltar şöyle
misalen
1
5
10
2
a1
e1
c1
sql ile sıralama yaptırdığımda sıralama şöyle olmalı
1
2
5
10
a1
c1
e1
merhaba,
şeklinde denedin mi?
Kod: Tümünü seç
select * from table1 order by alanadi
CInt fonksiyonu ile alanı donustur.
ayrıca su linkten access onksiyonları hakkında bilgi alabilirsin.
Kod: Tümünü seç
select cint(alan1) from tablo
order by 1
ÜŞENME,ERTELEME,VAZGEÇME
benimde anatablolarımdan birinde esas oğlan alan integere sayılar tutan bi string. çünkü bazen 000001, a001,a002 gibi kayıt eklenebiliyordu.. bende günlük bi jobno ekleyip max ile ogünün maksimum jobnosunu bulup onu arttırıp post ediyordum. liistelerkende tarih,bu jobnoya göre listeliyorum..
belki saçma olabilir ama programınız bu öğre. numarasına özel bi integer rakam üretir ve bunu insert eder. sıraalarkende bu gizli alandan sıralatırsınız.
tabi bu rakamı üretecek fonksiyon üzerinde biraz çalışmanız lazım. örneğin karakterin ascii kodunun, basamak sayısı ile çapımlarının toplamı tarzında
vey nebilim böyle bişiler işte.. en iyisi adminin dediği 
belki saçma olabilir ama programınız bu öğre. numarasına özel bi integer rakam üretir ve bunu insert eder. sıraalarkende bu gizli alandan sıralatırsınız.
tabi bu rakamı üretecek fonksiyon üzerinde biraz çalışmanız lazım. örneğin karakterin ascii kodunun, basamak sayısı ile çapımlarının toplamı tarzında


.-.-.-.-.-.-.-. ^_^
Bana da aynı şey firebird için lazım. Acaba var mı böyle bir fonksiyon. Ben bulamadım.gkimirti yazdı:CInt fonksiyonu ile alanı donustur.ayrıca su linkten access fonksiyonları hakkında bilgi alabilirsin.Kod: Tümünü seç
select cint(alan1) from tablo order by 1
Hayırlı akşamlar.
tip donusumu isine yarayan cast fonksiyonu Firebird'de de vardı diye hatırlıyorum...
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

gkimirti yazdı:CInt fonksiyonu ile alanı donustur.
Kod: Tümünü seç
select cint(alan1) from tablo
order by 1
bu sorgunun firebird de olduğunu varsayarsak cast ile nasıl sıralama yapabiliriz. alan1 string bir alan
Kod: Tümünü seç
select cast(alan1 as integer) from tablo
order by 1
yalnız donusumu hatalı sonuc veren bir string varsa orada sorgu cekme kırılır...
select cast('1234' as integer) from rdb$database
select cast('1234a' as integer) from rdb$database
bu ikisini bir dene
ÜŞENME,ERTELEME,VAZGEÇME
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
çözümsüz bir işlem değil gayet basit,
ama arkadaş yanlış bölgede salyangoz satıyor,
burası firebird tarikatının tekkesi.
kendisine M$sql veya diğer veritabanları forumunu salık veririm.
access ticari biri üründür, satan ve desteğini veren bill abidir.
ama arkadaş yanlış bölgede salyangoz satıyor,
burası firebird tarikatının tekkesi.
kendisine M$sql veya diğer veritabanları forumunu salık veririm.
access ticari biri üründür, satan ve desteğini veren bill abidir.
Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org
İlla SQL ile yapacağım diyorsan şuna benzer bir query yazman gerekir:
İyi çalışmalar.
Kod: Tümünü seç
SELECT
URUN_KODU,
CASE
WHEN STRLEN(URUN_KODU) = 1 THEN '000000000' || URUN_KODU
WHEN STRLEN(URUN_KODU) = 2 THEN '00000000' || URUN_KODU
WHEN STRLEN(URUN_KODU) = 3 THEN '0000000' || URUN_KODU
WHEN STRLEN(URUN_KODU) = 4 THEN '000000' || URUN_KODU
WHEN STRLEN(URUN_KODU) = 5 THEN '00000' || URUN_KODU
WHEN STRLEN(URUN_KODU) = 6 THEN '0000' || URUN_KODU
WHEN STRLEN(URUN_KODU) = 7 THEN '000' || URUN_KODU
WHEN STRLEN(URUN_KODU) = 8 THEN '00' || URUN_KODU
WHEN STRLEN(URUN_KODU) = 9 THEN '0' || URUN_KODU
ELSE
URUN_KODU
END
FROM URUN
ORDER BY 2
Terminator yazdı:çözümsüz bir işlem değil gayet basit,
ama arkadaş yanlış bölgede salyangoz satıyor,
burası firebird tarikatının tekkesi.
kendisine M$sql veya diğer veritabanları forumunu salık veririm.
access ticari biri üründür, satan ve desteğini veren bill abidir.
@Terminator: Kusura bakma ama anlayamadım. Bu lafın kimeydi. Bana mı. Eğer banaysa ben yanlış yerde aramıyorum çözümü. Forum taşınırken bu başlık accessle ilgili olmasına rağmen buraya taşınmış ben de altına devam ettim.
Değilse yine kusura bakma. Zaten bu soruya özellikle senevap vereceğini düşünmüştüm...