--关于各组成部分 可以参看
http://blog.csdn.net/feixianxxx/archive/2009/08/02/4402329.aspx
--根据博文中各个组成部分的内容,你还需要一个表示编码对象常住户口所在县(市、旗、区)的行政区划代码的辅助表 ZhengQu
大概代码就是
select *
from YourTb y join ZhengQu z on LEFT(y.col,6)=z.col
where isdate(SUBSTRING(y.col,7,8))=1
and ISNUMERIC(SUBSTRING(y.col,15,3))=1
and RIGHT(y.col,1) like '[0-9x]'
如果是15位的身份证
select *
from YourTb y join ZhengQu z on LEFT(y.col,6)=z.col
where isdate(SUBSTRING(y.col,7,6))=1
and ISNUMERIC(SUBSTRING(y.col,13,3))=1
and RIGHT(y.col,1) like '[0-9x]'