mysql - 如何将一列中的字符串拆分为两列

标签 mysql sql sql-server

我有一张这样的 table

id          value
-------     ---------------
1           ind.kolkatta
2           ind.pune
3           ind.mumbai
4           pak.lahore
5           pak.karachi
6           uae.sharjah

我要返回下表:

id          contry       place
-------     ---------    ----------
1           ind          kolkatta
2           ind          pune
3           ind          mumbai
4           pak          lahore
5           pak          karachi
6           uae          sharjah

我如何使用 MSSQL 做到这一点?我已经在 MYSQL 中使用 SUBSTRING_INDEX 函数完成了

我的 MySql 查询

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(`value`, '.', 1), '.', -1) as contry,
       SUBSTRING_INDEX(SUBSTRING_INDEX(`value`, '.', 2), '.', -1) as place 
FROM   `table`

最佳答案

尝试以下查询:-

SELECT ID, SUBSTRING(value, 1, CHARINDEX('.', value)-1) AS contry,
SUBSTRING(value, CHARINDEX(',', value)+1, LEN(value)) AS  place
FROM YOUR_TABLE;

这可能对你有帮助。

关于mysql - 如何将一列中的字符串拆分为两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25401849/

相关文章:

python - 使用正则表达式 Python 3 捕获两个已知单词之间的所有多行文本

sql-server - django.db.utils.InterfaceError : ('IM002' , '[IM002] [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序 (0))

sql - 使用 exists select 1 获取其中任何列包含序列的行

c# - Xamarin(android)数据库连接错误

php - 在数据库中存储和回显 php 代码

mysql - 前 2 个可重复值的 SQL

c# - 将数据从 ASP.NET MVC Controller 推送到 View

mysql - 触发更新MySQL中同一张表中的多条记录

sql - 如何从 SQL Server 创建可移植插入?

java - 没有主键为 INT 的 SQL 删除