SQL查询求助:如何将姓名首字母与姓氏合并至同一字段
SQL查询修正方案
现有代码问题梳理
- 未实现字段合并要求:将名字首字母、姓氏拆分为两个独立字段返回,且未给首字母添加要求的英文句点
- 姓氏筛选逻辑错误:
VendorContactLName = 'M'仅能匹配姓氏完全等于「M」的记录,无法匹配所有以M开头的姓氏
修正后查询语句
SELECT CONCAT(LEFT(VendorContactFName, 1), '. ', VendorContactLName) AS ContactName, VendorCity FROM Vendors WHERE VendorState = 'NJ' OR VendorContactLName LIKE 'M%'
语法说明
- 字符串拼接:使用
CONCAT()函数完成多段字符串拼接,如果你使用Oracle数据库,也可以换成拼接运算符||,写法为LEFT(VendorContactFName, 1) || '. ' || VendorContactLName AS ContactName - 模糊匹配:
LIKE 'M%'是SQL的前缀匹配语法,%为通配符,代表任意数量的任意字符,可匹配所有首字符为M的姓氏
内容的提问来源于stack exchange,提问作者Tayler Rosen
相关产品推荐
相关产品推荐

