MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Murats
Üye
Mesajlar: 33 Kayıt: 02 Nis 2007 12:20
Konum: Kocaeli Gebze
Mesaj
gönderen Murats » 06 Ara 2007 05:23
Kod: Tümünü seç
UPDATE HASTA_EPIKRIZ SET
TANI = REPLACE(TANI, ', tanımlanmamış', '')
Yukarıdaki gibi bir komut çalıştırmak istiyorum ama hata alıyorum. Where ile kısmı kaytılarada girse fark etmiyor.
Kod: Tümünü seç
Argument data type text is invalid for argument 1 of replace function.
Gibi bir hata alıyorum. Nedir bunu ilacı anlamadım.
mussimsek
Admin
Mesajlar: 7601 Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:
Mesaj
gönderen mussimsek » 07 Ara 2007 04:40
Burda genel yapı
update tablo adı
set alan_adı=yeni değer
where alan_adı = eski değer
şeklindedir. Yanlış anlamadıysam tanımlanmamış olanları TANI yapmak istiyorsun. Bunu şu şekilde yapman lazım :
UPDATE HASTA_EPIKRIZ
SET TANI='TANI'
where TANI='tanımlanmamış'
Eğer kayıtların hepsinde bir değişiklik yapmak istiyorsan, where kısmını kaldırman lazım.
UPDATE HASTA_EPIKRIZ
SET TANI='TANI'
gibi.
Kolay gelsin.
Murats
Üye
Mesajlar: 33 Kayıt: 02 Nis 2007 12:20
Konum: Kocaeli Gebze
Mesaj
gönderen Murats » 07 Ara 2007 05:41
Hayır tanımlanmamıs olanlari silmek istiyorum o yuzden replace komutunu kullandım.
Ama nedense bu hatayı aldım. TANI bir filed onun içinde sonu yada başı yada ortasında tanımlanmamış olarak girilmiş değerleri silmek istiyorum.
rsimsek
Admin
Mesajlar: 4482 Kayıt: 10 Haz 2003 01:48
Konum: İstanbul
Mesaj
gönderen rsimsek » 07 Ara 2007 10:38
Kod: Tümünü seç
UPDATE HASTA_EPIKRIZ
SET TANI = REPLACE(TANI, ', tanımlanmamış', '')
WHERE TANI IS NOT NULL
TANI içeriği boş veya NULL ise neyi değiştirsin, bir kontrol gerekmez mi
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Murats
Üye
Mesajlar: 33 Kayıt: 02 Nis 2007 12:20
Konum: Kocaeli Gebze
Mesaj
gönderen Murats » 10 Ara 2007 06:20
Hayır içerisi dolu. yani örnek olarak baktığımızda şu şekilde veri yazilmiş.
Akut Tonsillit, Tanımlanmamış
Ben burada sadece Akut tonsillit in kalması için replace kullanmak istedim ama bir kaç yerde okuduğum kadari ile bunu yapamayabiliriz demişler iyi ingilizcem olmadığı için anlamadım.
updatetext ile bu tip birşey yapabilirmiyim ?
rsimsek
Admin
Mesajlar: 4482 Kayıt: 10 Haz 2003 01:48
Konum: İstanbul
Mesaj
gönderen rsimsek » 10 Ara 2007 10:11
Sanırım REPLACE fonksiyonu harfe duyardı, yazıldığı gibi denemelisin.
Kod: Tümünü seç
UPDATE HASTA_EPIKRIZ
SET TANI = REPLACE(TANI, ', Tanımlanmamış', '')
Bir de burada Türkçe harf kullandığından COLLATE vermen gerekebilir.
Örnek kullanım, tabi Türkçe Collate ile olacak
http://technet.microsoft.com/en-us/libr ... 86862.aspx
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Murats
Üye
Mesajlar: 33 Kayıt: 02 Nis 2007 12:20
Konum: Kocaeli Gebze
Mesaj
gönderen Murats » 11 Ara 2007 10:36
Onuda denedim sonuc deyişmedi. Update ile replace yi bir arada kullanamıyormuyuz acaba ?
conari
Üye
Mesajlar: 2102 Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık
Mesaj
gönderen conari » 11 Ara 2007 04:23
kullanılır. where de kullanılır.
Kod: Tümünü seç
UPDATE Table SET fieldm = REPLACE(fieldm, 'değişecek', 'olacak')
Where fieldm LIKE '%Hanigisi ise %'
Bir kelimenin anlamını öğretsen bile yeter..
Murats
Üye
Mesajlar: 33 Kayıt: 02 Nis 2007 12:20
Konum: Kocaeli Gebze
Mesaj
gönderen Murats » 12 Ara 2007 09:44
Benımde ilk örneğim öyle idi ama sadece where.. kullanmadım.
Where kullansamda sonuc değişmiyor.
Kod: Tümünü seç
UPDATE HASTA_EPIKRIZ SET TANI = REPLACE(TANI, ', tanımlanmamış', '')
where TANI like '%tanımlanmamış%'
Error:
Argument data type text is invalid for argument 1 of replace function.
hbahadir
Kıdemli Üye
Mesajlar: 544 Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:
Mesaj
gönderen hbahadir » 12 Ara 2007 10:18
sabanakman
Kıdemli Üye
Mesajlar: 3081 Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)
Mesaj
gönderen sabanakman » 12 Ara 2007 11:07
Bilge kişilik ak sakallı google dede
.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Murats
Üye
Mesajlar: 33 Kayıt: 02 Nis 2007 12:20
Konum: Kocaeli Gebze
Mesaj
gönderen Murats » 14 Ara 2007 10:25
replace fonksiyonu field türü text olunca çalışmıyormus. Türü nvarchar olarak değiştirdim. Şu anda sorgu rahat bir şekilde çalışıyor.