将单列值拆分为多个列
任务是将单个“姓名”列中的值拆分为多个列,包括名字和姓氏。您希望省略中间名,并将结果数据显示在“first_name”和“last_name”列中。
自定义解决方案
建议的方法可能不适用于处理各种名称格式。但是,自定义 SQL 查询可以实现此目的:
<code class="language-sql">SELECT CASE WHEN name LIKE '% %' THEN LEFT(name, Charindex(' ', name) - 1) ELSE name END AS first_name, CASE WHEN name LIKE '% %' THEN RIGHT(name, LEN(name) - Charindex(' ', REVERSE(name))) ELSE NULL END AS last_name FROM YourTable;</code>
此查询使用 Charindex 函数查找“姓名”列中第一个空格字符的位置。如果找到空格,则将姓名拆分为名字和姓氏部分。如果没有找到空格,则将整个姓名分配给名字列,并将 NULL 值分配给姓氏列。 RIGHT
函数的第二个参数已修正为使用 LEN(name)
计算字符串长度,确保正确提取姓氏。
以上是如何在 SQL 中将单个'名称”列拆分为'名字”和'姓氏”列?的详细内容。更多信息请关注PHP中文网其他相关文章!