一个简单的SQL语句,大家写写看!

渃水 2013-07-25 05:55:42
有很多数据,格式是这样的
由数字与逗号、或是纯数字组成 或是NULL

如果有逗号,就截取第一个逗号之前的数字,没有逗号就直接返回数字,这样的SQL怎么写

123,11,74512
1354534,1545
456465
NULL

查询结果
123
1354534
456465
NULL
...全文
108 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
渃水 2013-07-26
  • 打赏
  • 举报
回复
恩,多谢!学习了
习惯性蹭分 2013-07-25
  • 打赏
  • 举报
回复
借用下楼上的数据。

create table #tb(col varchar(100))
insert into #tb
select '123,11,74512'
union all select '1354534,1545'
union all select '456465'
union all select NULL
select left(col,charindex(',',col+',')-1) from #tb
Andy__Huang 2013-07-25
  • 打赏
  • 举报
回复
create table #tb(col varchar(100))
insert into #tb
select '123,11,74512'
union all select '1354534,1545'
union all select '456465'
union all select NULL

select case when charindex(',',col)>0 then left(col,charindex(',',col)-1) else col end
from #tb
drop table #tb

/*
123
1354534
456465
NULL
*/
Andy__Huang 2013-07-25
  • 打赏
  • 举报
回复
select case when charindex(',',col)>0 then left(col,charindex(',',col)-1) else col end from tb

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧