文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 专题 求职 读书
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» 微软SQL Server专区 » SQL Server数据库管理 » 提取指定位置数据问题请教       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: 提取指定位置数据问题请教  ( 查看:203  回复:7 )   
 该主题悬赏的20无忧币已被全部领完 
 
红蜻蜓
新新人类  点击可查看详细



帖子 3
精华 0
无忧币 7
积分 7
阅读权限 20
来自 (保密)
注册日期 2007-12-5
最后登录 2008-3-11 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-3-11 13:47   标题:提取指定位置数据问题请教
上一帖 |
偶有一个表A,里面有一个字段是身份证,位数为15位和18位滴。偶想提取身份证中的生日信息,请问偶该怎么写命令呀???



网络虽虚拟,技术无边界,来看看大家“真面目”!
2008-3-11 13:471楼
[ 顶部 ]
 
dggh
新新人类  点击可查看详细



帖子 130
精华 0
无忧币 1076
积分 134
阅读权限 20
注册日期 2007-9-28
最后登录 2008-8-27 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-3-11 14:42  该回复被 红蜻蜓 奖励 20 点无忧币
此回复于2008-03-24 09:14被 阿楚 评为最佳答案

declare @id varchar(18)
set @id='451202197911280019'
select @id=SUBSTRING(@id,7,8)
select CONVERT(datetime,@id)
go



网络虽虚拟,技术无边界,来看看大家“真面目”!
2008-3-11 14:422楼
[ 顶部 ]
 
tkokm
新新人类  点击可查看详细



帖子 25
精华 0
无忧币 20
积分 28
阅读权限 20
注册日期 2007-11-28
最后登录 2008-7-28 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-3-11 14:42   标题:提供一个思想,自己取实现吧

以18位的数据为例,先处理成整数,除以100000000000后取余数,得到余数除1000后就可以得到关于出生的字段了。

你自己用编程语言实现吧。我知道用C#是很容易实现的。

[ 本帖最后由 tkokm 于 2008-3-11 14:43 编辑 ]



网络虽虚拟,技术无边界,来看看大家“真面目”!
2008-3-11 14:423楼
[ 顶部 ]
 
红蜻蜓
新新人类  点击可查看详细



帖子 3
精华 0
无忧币 7
积分 7
阅读权限 20
来自 (保密)
注册日期 2007-12-5
最后登录 2008-3-11 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-3-11 15:16 
哭。。。偶用的是sql呀。要不怎么会来这儿问



网络虽虚拟,技术无边界,来看看大家“真面目”!
2008-3-11 15:164楼
[ 顶部 ]
 
dggh
新新人类  点击可查看详细



帖子 130
精华 0
无忧币 1076
积分 134
阅读权限 20
注册日期 2007-9-28
最后登录 2008-8-27 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-3-11 17:08 
declare @id varchar(15)
set @id='451207911280019'
select @id='19'+SUBSTRING(@id,6,6)
select CONVERT(datetime,@id)
go



网络虽虚拟,技术无边界,来看看大家“真面目”!
2008-3-11 17:085楼
[ 顶部 ]
 
dggh
新新人类  点击可查看详细



帖子 130
精华 0
无忧币 1076
积分 134
阅读权限 20
注册日期 2007-9-28
最后登录 2008-8-27 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-3-11 17:15 
--in a summary:
select
case  len(id) when 18 then
CONVERT(datetime,substring(id,7,8))
when 15 then
CONVERT(datetime,substring(id,6,6))
end
from tableA



网络虽虚拟,技术无边界,来看看大家“真面目”!
2008-3-11 17:156楼
[ 顶部 ]
 
夜的消影
新新人类  点击可查看详细



帖子 1
精华 0
无忧币 11
积分 1
阅读权限 20
注册日期 2008-3-7
最后登录 2008-3-11 离线

[查看资料]  [发短消息]  [Blog
  QQ       
发表于:2008-3-11 21:03 
dggh
说的应该是对的



网络虽虚拟,技术无边界,来看看大家“真面目”!
2008-3-11 21:037楼
[ 顶部 ]
 
haodea
技术员  点击可查看详细


十二生肖之狗   射手座   行业勋章   技术勋章   诚信兄弟  
帖子 226
精华 0
无忧币 487
积分 374
阅读权限 30
来自 (保密)
注册日期 2006-10-18
最后登录 2008-8-29 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-3-11 21:50 
dggh的方法应该可以的。



强烈推荐:《2007网络安全精品黄皮书》
2008-3-11 21:508楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号