中易网

SQL取字段中某一部分特定数值

答案:5  悬赏:40  
解决时间 2021-01-12 22:47
SQL取字段中某一部分特定数值
最佳答案
一楼的是固定长度的
要是之前或之后长度都不固定,可以这样写
instr(str,'/',0,-1)找到'/'的位置
select subStr( str ,instr(str,'/',1,1)-2 ,5)
from ……
这句话是取/附近5个字符的代码!
有此数据库不支持instr可以用:
CHARINDEX
全部回答
select substring('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg',23,5)
如果只是固定取"20/30"比较容易, 只需找到"20/30"在此字符串的开始位置,再截取5个字符的长度就可以了,如:
SELECT CASE WHEN CHARINDEX('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg', '20/30') > 0 THEN SUBSTRINg('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg', CHARINDEX('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg', '20/30'),5) ELSE '' END
如果不一定是20/30,而是与"/"前后关联的数字(eg: 14/20, 33/66,等...),就麻烦了,你可能需要写一个抽取字符串的函数,如: f_substr(),然后在SQL里调用:
select 用户.f_substr('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg')
如果/能够保证在字段中唯一出现的话可以:
SubString('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg',
CharIndex('/',mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg)-2,5)
可以查查
CharIndex
patindex
的使用
SUBSTRING
返回字符、binary、text 或 image 表达式的一部分。有关可与该函数一起使用的有效 Microsoft® SQL Server™ 数据类型的更多信息,请参见数据类型。
语法
SUBSTRINg ( expression , start , length )
参数
expression
是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。
start
是一个整数,指定子串的开始位置。
length
是一个整数,指定子串的长度(要返回的字符数或字节数)。
select substring('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg',23,5)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
idole翻译成中文叫什么名
女八字三个比肩,一个正财,两个偏财,一个偏
pe里有千分之三的pet可以吹膜吗?
请问09年的海域能卖多少钱?
有一次去印度看到好多人在买钻石,我特别喜欢
这种石头是叫什么?在黄土里挖到的
翻译云送关西雨,风传渭北秋。孤灯然客梦,寒
IEEE 1588的详细介绍
2017年银行秋季招聘考试条件是什么,各大行之
大便松散不成条什么原因
华佗久战不泄
奥运会和冬奥会是一样的吗?
DNF星期六龙珠直播的人有哪些?
女士英文怎么读
植物大战僵尸中如何对付跳跳僵尸?
推荐资讯
Python如何工作
以my favourite photograph为标题写一篇英语
求凯字和诺字开头的春联
刻在骨头上的文字.有谁认识是什么东东来.
50岁女性掉头发是什么原因
平地村地址有知道的么?有点事想过去
(7.2×2.4-9.48)÷0.25简便计算
江苏话翻译
皮肤爱出油是不是缺水?朋友推荐索玫澳大马士
古代王爷小说十章左右女主角叫月儿,男主好像
足疗沙发一般多大尺寸
什么是 阿迪达斯推出的parley系列限量环保跑
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?