in MSSQL, how can i retrieve accepted values as list equivalent to MySQL ENUM values? PHP preferred

I wish to (in PHP) dynamically retrieve a list of acceptable/available values for a column in a MSSQL database, for a field which has a Check Constraint to try to get functionality similar to MySQL ENUM data type.

Is there an easier way to do this?  with MySQL it's apparently quite simple (see code).  MSSQL has a string for the Check Constraints and takes a lot of effort to get to in the schema.

from the site http://dev.mysql.com/doc/refman/5.0/en/enum.html :
This is an extremely simple way to get the options from an enum into an array, here called $arryEnum
 
<?php
$result=mysql_query("SHOW COLUMNS FROM <table> LIKE '<column>'");
if( mysql_num_rows( $result ) > 0 )
{
   $row=mysql_fetch_row($result);
   preg_match_all("/'(.*?)'/", $row['Type'], $matches);
   $arryEnum= $matches[1];
}
?> 
 
The important bit is the regexp, which just matches anything in apostrophes.

Open in new window

LVL 2
labopsAsked:
Who is Participating?
 
labopsAuthor Commented:
Nice.   That gets a little closer, I see the check constraint but not the parameters I'd set.  I was able to find the information from joining two information_schema tables.
Is there a better way to go about this from the start?  It sure would be nice to have that ENUM :(
0
All Courses

From novice to tech pro — start learning today.