0 0

求解SQLSERVER 字符串函数问题3

table : a
id     name
1      public/files/111.jpg,public/files/222.jpg  
2      public/files/1234.jpg,public/files/5678.jpg  

求SQL语气,取出name列中的 ,(逗号)前与逗号后的字符串
如 ID 为 1 的 取出 public/files/111.jpg 与public/files/222.jpg

能不能这样取出啊

问题补充:
Rainbow702 写道
sqlserver 中是没有类似 split 这种拆分字符串的函数的,需要自己进行实现,你可以参考:
http://www.cnblogs.com/xdotnet/archive/2007/08/18/sql_split_string.html



就是想用sql语句实现,
能取出第一个,(逗号)前的 而 第一个逗号与第二个逗号之间的。。。

select id,name,firstname=case when len(SUBSTRING(name,0,charindex(',',name)))>1 then SUBSTRING(name,0,charindex(',',name)) else name end from a



firstname 即为第一个逗号前

问题补充:
Rainbow702 写道
引用
   1. select id,name,firstname=case when len(SUBSTRING(name,0,charindex(',',name)))>1 then SUBSTRING(name,0,charindex(',',name)) else name end from a 

这么改一下呢
select 
  id,
  name,
  firstname=case when charindex(',',name)>0 then SUBSTRING(name,0,charindex(',',name)) 
                 else name, 
  lastname=case when charindex(',',name)>0 then SUBSTRING(name,charindex(',',name),(len(name) - charindex(',',name))) 
                 else name end from a  



修改一下你的,
select 
  id,
  name,
  firstname=case when charindex(',',name)>0 then SUBSTRING(name,0,charindex(',',name)) 
                 else name [color=darkred]end[/color], 
  lastname=case when charindex(',',name)>0 then SUBSTRING(name,charindex(',',name)[color=darkred]+1[/color],(len(name) - charindex(',',name))) 
                 else name end from a  


这样能得到,第一个与第一个逗号之后的,假如name 为public/files/1234.jpg,public/files/5678.jpg,public/files/123.jpg 就 了,不管了,先谢了,在这样判断下去,给别人看就头疼了

2011年9月06日 14:38

3个答案 按时间排序 按投票排序

0 0

引用
修改一下你的,

能行就OK啊,呵呵。遇到你说的那种情况真就不太好办了啊,只能一个个往上加。

2011年9月06日 16:17
0 0

引用
   1. select id,name,firstname=case when len(SUBSTRING(name,0,charindex(',',name)))>1 then SUBSTRING(name,0,charindex(',',name)) else name end from a 

这么改一下呢
select 
  id,
  name,
  firstname=case when charindex(',',name)>0 then SUBSTRING(name,0,charindex(',',name)) 
                 else name, 
  lastname=case when charindex(',',name)>0 then SUBSTRING(name,charindex(',',name),(len(name) - charindex(',',name))) 
                 else name end from a  

2011年9月06日 15:27
0 0

sqlserver 中是没有类似 split 这种拆分字符串的函数的,需要自己进行实现,你可以参考:
http://www.cnblogs.com/xdotnet/archive/2007/08/18/sql_split_string.html

2011年9月06日 14:45

相关推荐

    福建XX理工学院《动态网站建设编程》试卷.docx

    8. 字符串函数:`CStr`可以将数值转换为字符串。 9. ASP代码编写:例如,`For...Next`循环可以用于计算平方和,而Cookies可以通过设置和读取来追踪用户登录次数。 10. 文件操作:使用脚本可以创建、写入和读取文件...

    SQL 基础综合大全

    2. **XML 数据填充**:将 XML 字符串转换为 XML 类型。 3. **数据提取**:使用 XPath 或其他 XML 处理函数来提取所需信息。 **代码示例**: ```sql DECLARE @idoc int DECLARE @doc varchar(1000) SET @doc = ' ...

    课程设计(带文档,源代码) C# .NET

    【标签】"数字字符串求解三方法"表明这个项目可能涉及到对数字字符串的操作,可能是解析、验证或者计算等任务。在C#中,处理数字字符串可能需要用到`int.Parse()`、`double.TryParse()`等方法,这些都是将字符串转换...

    VB VBA 应用实例经典

    #### 五、构造参数字符串函数 函数 `GetParStr` 用于构造传递给存储过程的参数字符串。 ##### 函数定义 ```vb Function GetParStr(ParamArray p() As Variant) As String ``` - **参数**:接收可变数量的参数数组...

    ACMer 要学的知识

    4. **后缀数组**:存储字符串所有后缀的数组,可用于求解最长重复子串等问题。 5. **后缀自动机**:用于字符串处理,可以高效地进行模式匹配和查找。 **六、搜索** 1. **基本搜索算法**:包括广度优先搜索(BFS)和...

    DotNet面试题汇总.pdf

    ### DotNet面试题知识点汇总 ...50. **SQLSERVER服务器中表的操作**:涉及表的操作通常包括创建表、插入数据、更新数据、删除数据等。这些操作可以通过SQL语句来完成,也可以通过ADO.NET中的各种对象来实现。

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例074 将字符串的每个字符进行倒序输出 94 实例075 获取字符串中汉字的个数 94 实例076 批量替换某一类字符串 95 实例077 把异常与错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 ...

    数据库表与MATLAB矩阵间的转化推理及其应用.zip

    数据库表是由列(字段)和行(记录)组成的二维结构,其中每个字段都有特定的数据类型,如整数、字符串或日期。数据库管理系统(如MySQL、SQL Server、Oracle等)提供了SQL语言来操作这些表,包括查询、插入、更新和...

    2021-2022计算机二级等级考试试题及答案No.3176.docx

    3. **字符串函数应用**:在SQL查询中,可以使用字符串函数`Mid()`来截取字符串中的部分字符。为了找到学生编号中第3、4位为“03”的记录,应该正确使用`Mid([学生编号],3,2)="03"`。 - **正确答案**:B.Mid([学生...

    2021-2022计算机二级等级考试试题及答案No.12412.docx

    - **scanf 函数使用**:在 C 语言中,使用 `scanf` 函数读取输入时,如果输入格式与格式字符串不匹配,可能会导致意外的行为。例如,要将 1、2、3、4 分别赋给变量 a、b、c、d,正确的输入格式应该是 `1,2,34`。 ##...

    2021-2022计算机二级等级考试试题及答案No.12279.docx

    1. Python编程基础:题目中提到的`eval()`函数可以将用户输入的字符串转化为实际的Python表达式。当输入`1+2`和`4j`时,`eval()`会计算这两个表达式的值,1+2等于3,4j是复数。因此,`abs(x+y)`的结果是5.0(浮点数...

    用ASP实现一个计算题

    3. **计算逻辑**:在`Calculate`类中,你需要实现一个函数,接收用户输入的字符串,解析成表达式树,然后执行计算。 4. **结果展示**:计算完成后,结果应返回到`Calculate.aspx`页面,并显示在适当的位置。 5. **...

    C#&ASP.NET 面试题

    - **使用`QueryString`**:可以通过URL中的查询字符串来传递参数。例如,通过 `http://example.com/page.aspx?id=1` 来传递参数。 - **使用`Session`**:`Session`是一种服务器端存储机制,用于在多个页面请求之间...

    .net 最全最新面试题

    7. **遍历TextBox控件并赋值**:代码中使用了`foreach`循环遍历控件集合,检查每个控件是否为TextBox类型,如果是则将其Text属性设置为空字符串。 8. **冒泡排序**:冒泡排序是一种简单的排序算法,通过重复遍历...

    全国计算机技术与软件专业技术资格(水平)考试考试大纲(新版).pdf

    * 常用算法:排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法 二、计算机系统基础知识 * 硬件基础知识:计算机系统的组成、硬件系统、软件系统及层次结构、计算机类型和特点、...

    2021-2022计算机二级等级考试试题及答案No.11742.docx

    **解析**: 字符数组初始化时,单引号只能用于表示单个字符,而不是字符串。因此,选项A的初始化方式是错误的。 ### 13. Java文档生成工具 **题目**: JDK中提供的文档生成器是? - A. javadoc.exe - B. javap.exe ...

    现在的软件水平考试初级就是程序员

    - **常用算法**:掌握常用的排序算法(如冒泡排序、快速排序)、查找算法(如顺序查找、二分查找)、数值计算算法、字符串处理算法、数据压缩算法、递归算法以及图的相关算法。理解算法与数据结构之间的关系,掌握...

Global site tag (gtag.js) - Google Analytics