﻿
{"id":8017,"date":"2018-05-19T17:41:25","date_gmt":"2018-05-19T17:41:25","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=8017"},"modified":"2018-05-19T17:42:26","modified_gmt":"2018-05-19T17:42:26","slug":"sql-server-iif-fonksiyonu-ile-veri-kontrolu","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/sql-server-iif-fonksiyonu-ile-veri-kontrolu\/","title":{"rendered":"SQL Server &#8211; IIF Fonksiyonu \u0130le Veri Kontrol\u00fc"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Bir yaz\u0131l\u0131m\u0131 b\u00fct\u00fcn olarak ele ald\u0131\u011f\u0131m\u0131zda; genellikle veritaban\u0131 tablolar\u0131ndaki t\u00fcm veriler var oldu\u011fu gibi son kullan\u0131c\u0131ya yans\u0131t\u0131lmamakta, gerekti\u011fi kadar, hatta verinin orjinal fiziksel kayd\u0131n\u0131 bozmadan kullan\u0131c\u0131n\u0131n anlayabilece\u011fi \u015fekilde formatland\u0131rarak yans\u0131t\u0131lmaktad\u0131r.T\u00fcm bunlara nazaran kullan\u0131c\u0131n\u0131n anlam veremeyece\u011fi istatistiksel veriler yahut sadece program\u0131n anlayabilece\u011fi formatland\u0131r\u0131lm\u0131\u015f veriler saklanmakta, gerekti\u011finde tekrar kullan\u0131c\u0131n\u0131n anlayabilece\u011fi \u015fekilde parse edilip aray\u00fcze sunulmaktad\u0131r. <\/p>\n<p>T\u00fcm bu s\u00fcre\u00e7 bazen veritaban\u0131 sorgulan\u0131rken ger\u00e7ekle\u015ftirilmektedir ki genellikle tercihimiz ve m\u00fcmk\u00fcnse \u00f6nerimizde budur. Tabi her i\u015fin bir bedeli olan yaz\u0131l\u0131m d\u00fcnyas\u0131nda, tablo sorgular\u0131nda gelen verileri kontrol edebilmek ve son kullan\u0131c\u0131n\u0131n anlam verebilece\u011fi \u015fekilde formatland\u0131rabilmek i\u00e7in yap\u0131lan \u00e7al\u0131\u015fmalar sorgular\u0131 iyice kompleksle\u015ftirmekte ve bu durum \u00f6zellikle yaz\u0131l\u0131m \u00fczerinden ger\u00e7ekle\u015ftirilen veritaban\u0131 sorgulama(mesela Ado.NET kullan\u0131rken) durumlar\u0131nda farkedilmesi zor, zaman al\u0131c\u0131 ama asl\u0131nda \u00e7ok basit hatalara sebep olabilmektedir.<\/p>\n<p>Bu tarz durumlara, sorgu esnas\u0131nda elimizdeki veriyi kontrol edebilmek i\u00e7in &#8216;CASE \u2013 WHEN \u2013 ELSE \u2013 END&#8217; gibi kal\u0131psal yap\u0131lar\u0131 \u00f6rnek verebiliriz. Hatta bu yap\u0131y\u0131 kodsal olarak a\u015fa\u011f\u0131da \u00f6rneklendirirsek;<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nSELECT CASE UnvanEki WHEN 'Ms.' THEN 'Bayan'\r\nELSE CASE UnvanEki WHEN 'Mrs.' THEN\r\n'Bayan' ELSE 'Bay' END END\r\nFROM Personeller\r\n<\/pre>\n<p>g\u00f6r\u00fcld\u00fc\u011f\u00fc \u00fczere Personeller tablosundan gelen verilerin &#8220;Mr.&#8221;, &#8220;Ms.&#8221; ve &#8220;Mrs.&#8221; bilgilerine kar\u015f\u0131l\u0131k T\u00fcrk\u00e7e anlamlar\u0131n\u0131 yazmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131m\u0131z zaman sorgu semantik olarak l\u00fczumsuz \u015fi\u015fkinlik g\u00f6stermektedir.<\/p>\n<p>Bu tarz veri kontrol\u00fc yap\u0131larak formatland\u0131r\u0131lm\u0131\u015f sorgularda daha pratik ve kullan\u0131\u015fl\u0131 \u00e7al\u0131\u015fma sergileyebilmemiz i\u00e7in SQL Server 2012 s\u00fcr\u00fcm\u00fcyle birlikte IIF fonksiyonu gelmi\u015f bulunmaktad\u0131r.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nSELECT IIF(UnvanEki = 'Ms.' OR UnvanEki = 'Mrs.', 'Bayan', 'Bay') FROM Personeller\r\n<\/pre>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz \u00fczere select sorgular\u0131nda verileri formatland\u0131rmak i\u00e7in IIF fonksiyonu gayet kullan\u0131\u015fl\u0131l\u0131k arz etmekte ve bu i\u015flemi yaparken olas\u0131 kullan\u0131c\u0131 hata ihtimalinide olduk\u00e7a d\u00fc\u015f\u00fcrmektedir.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Bir yaz\u0131l\u0131m\u0131 b\u00fct\u00fcn olarak ele ald\u0131\u011f\u0131m\u0131zda; genellikle veritaban\u0131 tablolar\u0131ndaki t\u00fcm veriler var oldu\u011fu gibi son kullan\u0131c\u0131ya yans\u0131t\u0131lmamakta, gerekti\u011fi kadar, hatta verinin orjinal fiziksel kayd\u0131n\u0131 bozmadan kullan\u0131c\u0131n\u0131n anlayabilece\u011fi \u015fekilde formatland\u0131rarak yans\u0131t\u0131lmaktad\u0131r.T\u00fcm bunlara nazaran kullan\u0131c\u0131n\u0131n&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":3415,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1082,1412],"tags":[2356,2357],"class_list":["post-8017","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sql-server","category-sql-server-2016","tag-iif-fonksiyonu","tag-sql-server-iif"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8017","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=8017"}],"version-history":[{"count":15,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8017\/revisions"}],"predecessor-version":[{"id":8032,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8017\/revisions\/8032"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3415"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=8017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=8017"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=8017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}