Database 板


LINE

※ 引述《MOONY135 (谈无慾)》之铭言: : 只求概念 因为SAS SQL语法会稍微的不一样 : [问题叙述]: : 格式大概长这样 想从资料库里面抓的学号格式改成常见的格式 : 学号 切成 不需要 A1 B1 C1 : 00280061 -> 00 28 00 61 : A1与B1转换成学号的格式是这样 : 00~09 -> 0~9 A~Z -> 10~36 : C1则是完全取用 : A1_TRANS B1_TRANC C1 : 所以这样转换後 28->S 00->0 61->61 合并起来之後 : 会变成S061 假如转换规则是固定的话,我应该会采用直接查表的写法,请参考看看: use Lab go create table student ( id char(8), ) go insert into student values ('00280061'); go declare @pool char(36) = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' select substring(@pool, substring(id, 3, 2) + 1, 1) + substring(@pool, substring(id, 5, 2) + 1, 1) + substring(id, 7, 2) from student go --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.252.121.133
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Database/M.1409144136.A.330.html
1F:→ MOONY135: 转换规则固定的 08/27 21:36
2F:→ MOONY135: 感谢您 我试试看 08/28 08:43
3F:→ MOONY135: substring(id, 3, 2)取出来会是 字串 28 而非数字 08/28 12:04
4F:→ MOONY135: 请问要怎样处理? 08/28 12:04
5F:推 GoalBased: 用字串比对不行吗? 为何要用数字 08/28 12:18
6F:→ TeemingVoid: 在我写的T-SQL例子,substring() + 1 就会自动转型 08/28 14:04
7F:→ TeemingVoid: 成整数,若要手动转换,T-SQL呼叫 Convert() 函数。 08/28 14:04
8F:→ TeemingVoid: SAS SQL 我没在用,要麻烦请M大查一下 SAS SQL 要 08/28 14:04
9F:→ TeemingVoid: 怎麽进行型别转换。 08/28 14:05
10F:→ smlboby: MSSQL用charindex/Oracle用instr 找字串起始位置 08/28 14:51
11F:→ TeemingVoid: 楼上说的没错。而M大原问的是已知数码,要查代码。 08/28 15:01
12F:推 MOONY135: 喔喔 所以要型别转换 因为我刚摸SQL... 08/28 21:03
13F:→ MOONY135: 不过我忘记说 我的学号是文字格式... 08/28 21:04
14F:→ MOONY135: 学号要是数字格式才能这样做吗? 08/28 21:04
15F:→ MOONY135: 学号代码(字串格式) -> 学号(字串) 还是我一开始就想 08/28 21:05
16F:→ MOONY135: 错格式了? 08/28 21:05
没错啊! 学号是文字型态, 转换之後, 还是文字型态。 OK,我再写仔细一些 :-) -- Part A,从第3个位置起,取两个字元,得到字串 '28' substring('00280061', 3, 2) ==> '28' -- 接下来,查表转成 'S' (从第28个位置起,取一个字元): substring('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', '28' + 1, 1) -- 123456789012345678901234567890123456789 -- 1 2 ^ 3 问题是,字串'28'可以加一吗? T-SQL在这个例子会自动帮忙型别转换: -- 29 select '28' + 1 若要自己转,自然也行: -- 还是 29 select convert(int, '28') + 1 您使用的是 SAS SQL,会不会自动转换型别以及该怎麽进行型别转换, 就有劳您再查查。 :-) ※ 编辑: TeemingVoid (114.41.97.192), 08/28/2014 21:34:12
17F:→ MOONY135: 非常感谢您的热心回答 08/28 21:44
18F:→ MOONY135: 接触到SQL之後才知道原来这麽好用.. 08/28 21:45







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP