PDA

View Full Version : validation expression in sql



h_nasrolahi
پنج شنبه 11 اسفند 1390, 13:05 عصر
با سلام
اگر بخواهیم در Sql Serever داخل فیلد ها فقط فرمت زیر را قبول کند چه باید کرد
[9-0][9-0][9-0]-[9-0][9-0]

و این که اگر بخواهیم داخل فیلدی فقط مقدار A یا B و یا C را قبول کند چه باید کرد

tiphooo
پنج شنبه 11 اسفند 1390, 18:31 عصر
در مورد check constraint در سایت جستجو کنید

zarifcomputer
پنج شنبه 11 اسفند 1390, 18:39 عصر
این مفهوم را در زبان برنامه نویسی خود پیاده سازی کنید (مثلا دلفی یا دات نت)
اگر مثلا منظور شما درج یک فرمت کد در یک فیلد است که داده های آن از دو مقدار با مفاهیم متفاوت تشکیل شده است ، این کار شما با اصول نرمال سازی بانک اطلاعاتی در تضاد است
هر فیلد باید فقط یک نوع داده را در خود نگهداری کند. شما در این حالت باید دو فیلد با نوع TinyInt بسازید و دو رقم اول را در یک فیلد و دو رقم سه را هم در فیلد دوم درج نمایید و در زمان نمایش توسط زبان برنامه نویسی خود و یا اگر مایلید با T-SQL آنها را با هم ترکیب کنید
همچنین در مورد مثال آخر هم از یک فیلد با نوع داده Char(1) استفاده کنید

Galawij
پنج شنبه 11 اسفند 1390, 19:53 عصر
اگر می خواید فقط عدد بگیره:not like %^0-9%اگر می خواید 5 تا عدد بگیره:like '[0-9][0-9][0-9][0-9][0-9]'اگر فقط A,B,C بگیره:like '[A-C]'

zarifcomputer
پنج شنبه 11 اسفند 1390, 20:02 عصر
اگر می خواید فقط عدد بگیره:not like %^0-9%اگر می خواید 5 تا عدد بگیره:like '[0-9][0-9][0-9][0-9][0-9]'اگر فقط A,B,C بگیره:like '[A-C]'
من فکر میکنم منظور ایشون چگونگی نگهداری اطلاعات در بانک اطلاعاتی بود . و فکر میکنم پیشنهاد شما در مورد چگونگی واکشی اطلاعات از جدول است . تفاوت در درج اطلاعات و خواندن اطلاعات است

Galawij
پنج شنبه 11 اسفند 1390, 20:09 عصر
من فکر میکنم منظور ایشون چگونگی نگهداری اطلاعات در بانک اطلاعاتی بود . و فکر میکنم پیشنهاد شما در مورد چگونگی واکشی اطلاعات از جدول است . تفاوت در درج اطلاعات و خواندن اطلاعات است
دوست عزیز، دستورات T-SQL که فرقی نمی کنه. منظور من این بود که شرط Check Constraint (http://barnamenevis.org/showthread.php?329474-%D9%85%D8%A8%D8%A7%D9%86%DB%8C-%D8%A7%D8%B3-%DA%A9%DB%8C%D9%88-%D8%A7%D9%84-%D9%82%DB%8C%D8%AF%D9%87%D8%A7%28Constraints%29) را به این صورت بنویسند.