【发布时间】:2023-04-06 04:51:01
【问题描述】:
我有一列的值如下:
## codel ##
1-829549-305-117
1-1196585-305-119
119.305.1983984.1 // this record
1-224594-305-121
1-1999987-305-121
122.306.113416.1 // this record
1-158059-305-122
1-1083888-305-126
将 119.305.1983984.1 转换为 1.1983984.305.119 的代码是:
DECLARE @myvar varchar(20);
SET @myvar = '119.305.1983984.1';
SELECT
CONCAT(PARSENAME(@myvar, 1), '-',
PARSENAME(@myvar, 2), '-',
PARSENAME(@myvar, 3), '-',
PARSENAME(@myvar, 4))
输出应该是:
## codel ##
1-829549-305-117
1-1196585-305-119
1-1983984-305-119 // this record has changed
1-224594-305-121
1-1999987-305-121
1-113416-306-122 // this record has changed
1-158059-305-122
【问题讨论】:
-
那么实际的问题是什么?
-
你使用的sql server是什么版本的?
-
你想对带有破折号的
-做同样的事情吗? -
你好像在提问的时候忘记了最重要的事情;问一个问题。你的是什么?
-
猜测,也许,他们想在值以
'1'结尾时切换元素的位置,而不是以.开头并更改到-?CONVERT在这里绝对是错误的词。
标签: sql sql-server tsql