Bir bit alanının doğru ya da yanlış olmasına bağlı olarak koşullu olarak bir şey seçmek istiyorum.Neden SQL durum ifadesinde bir boole ifadesi olarak bir bit alanı kullanamıyorum?
CASE WHEN isSoon THEN 'Soon' ELSE 'Not so soon' END As HowSoon
Bu ne şu beri bana mantıklı biraz alanım gibi olan isSoon
bir boolean ifadesi, olmak zorunda "ZAMAN": Bu Başlangıçta çalıştı sözdizimi oldu. Ancak, bu işe yaramadı. Ne sonunda yapmak zorunda idi: Bu benim için gereksiz görünüyor
CASE WHEN isSoon = 1 THEN 'Soon' ELSE 'Not so soon' END As HowSoon
... yerine daha sezgisel if(isSoon)
bir programlama dilinde if(isSoon == True)
yazma gibi ve ters geliyor. SQL neden böyle kuruldu? Çünkü bit alanları gerçekten boole değiller mi?
Ayrıca hangi veritabanı sağlayıcısını kullandığınızı söyleyebilir misiniz? MySQL bununla ilgili bir sorun yok gibi görünüyor. –
Bu da beni rahatsız ediyor, ancak sql bu şekilde ayarlanmadı. Sadece bir şekilde bir parametre bir SP'ye geçirdiğinizde kullanamayacağınız şekilde (ör. "ListPermissionsByUser @DomainName + '\' + @ UserName" komutunu çalıştıramazsınız) –