Sql 如何分离字符串输出?

Sql 如何分离字符串输出?,sql,Sql,我有一个查询,它输出一个列名成员名 它输出带有姓氏和名字的第一个字母的字符串 如何在表中输出不同列中的第一个字母和姓氏 例如,要使其输出如下内容: first | last name ----------------- J | DOE B | DOE-DOE Z | SMITH 我做了一个我还没有声誉来回复评论,但正如您在回答中的评论中所问的,它可以在cold fusion中完成,但我认为SQL是您更好的选择 <cfoutput query="get_na

我有一个查询,它输出一个列名成员名

它输出带有姓氏和名字的第一个字母的字符串

如何在表中输出不同列中的第一个字母和姓氏

例如,要使其输出如下内容:

first | last name 
-----------------
J     | DOE

B     | DOE-DOE

Z     | SMITH 

我做了一个

我还没有声誉来回复评论,但正如您在回答中的评论中所问的,它可以在cold fusion中完成,但我认为SQL是您更好的选择

<cfoutput query="get_names">
  <cfset l_name = listfirst(member_name,"/")>
  <cfset f_initial = left(listlast(member_name,"/"),1)>
  <!--- if you want f_initial capitalized, use the below cfset rather than the above --->
  <cfset f_initial = ucase(left(listlast(member_name,"/"),1))>

  First initial: #f_initial#, Last name: #l_name#<br>
</cfoutput>

这是一个很好的练习,有助于理解cf是如何工作的,更重要的是,您的查询可以为您做什么和您的代码可以做什么之间存在重叠,但我再次推荐sql解决方案。

我还没有声誉回复评论,但正如您在回答中的评论中所问,它可以在冷聚变中完成,但我认为SQL是更好的选择

<cfoutput query="get_names">
  <cfset l_name = listfirst(member_name,"/")>
  <cfset f_initial = left(listlast(member_name,"/"),1)>
  <!--- if you want f_initial capitalized, use the below cfset rather than the above --->
  <cfset f_initial = ucase(left(listlast(member_name,"/"),1))>

  First initial: #f_initial#, Last name: #l_name#<br>
</cfoutput>

这是一个很好的练习,有助于理解cf是如何工作的,更重要的是,您的查询可以为您做什么和您的代码可以做什么之间存在重叠,但我再次推荐sql解决方案。

尽管我认为处理这种情况的最佳方法是在我的另一个答案中修改sql,这里有一种方法可以根据小提琴的数据布局,仅在CF中实现

<cfquery name="getMembers">
   select member_name from member
</cfquery>

<table>
   <tr><td>First</td><td>Last Name</td></tr>
   <cfoutput>
      <cfloop query="getMembers">
         <cfset aMember = ListToArray(member_name, "/")>
         <tr><td>#left(aMember[2],1)#</td><td>#aMember[1]#</td></tr>
      </cfloop>
   </cfoutput>
</table>   

虽然我相信处理这种情况的最佳方法是在我的另一个答案中修改SQL,但这里有一种方法仅在CF中进行修改,它基于您的fiddle的数据布局

<cfquery name="getMembers">
   select member_name from member
</cfquery>

<table>
   <tr><td>First</td><td>Last Name</td></tr>
   <cfoutput>
      <cfloop query="getMembers">
         <cfset aMember = ListToArray(member_name, "/")>
         <tr><td>#left(aMember[2],1)#</td><td>#aMember[1]#</td></tr>
      </cfloop>
   </cfoutput>
</table>   

为什么我没有考虑在查询中使用它。。。我很好奇它是否可以在coldfusion输出中完成,我没有在网上找到任何东西我很好奇它是否可以在coldfusion输出中完成,我没有在网上找到任何东西。。?你没有在网上找到文档吗?根据具体要求,其中详细说明了拆分字符串的各种方法?@user3591637您看到我的其他答案了吗?为什么我没有考虑在查询中执行此操作。。。我很好奇它是否可以在coldfusion输出中完成,我没有在网上找到任何东西我很好奇它是否可以在coldfusion输出中完成,我没有在网上找到任何东西。。?你没有在网上找到文档吗?根据具体要求,哪种方法可以拆分字符串?@user3591637您看到我的其他答案了吗?
<cfquery name="getMembers">
   select member_name from member
</cfquery>

<table>
   <tr><td>First</td><td>Last Name</td></tr>
   <cfoutput>
      <cfloop query="getMembers">
         <cfset aMember = ListToArray(member_name, "/")>
         <tr><td>#left(aMember[2],1)#</td><td>#aMember[1]#</td></tr>
      </cfloop>
   </cfoutput>
</table>