Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql修剪和替换_Sql_Sql Server 2008_Sql Server 2012 - Fatal编程技术网

sql修剪和替换

sql修剪和替换,sql,sql-server-2008,sql-server-2012,Sql,Sql Server 2008,Sql Server 2012,我是否可以同时修剪和替换列的名称,以便将其分解为两部分?预期结果在nameL和nameR中 name nameL nameR AB_1X AB 1X AXG_3X AXG 3X 4G_12X 4G 12X 已尝试使用此查询: select *, RIGHT(name, LEN(name)-4) as nameR, LEFT(name, LEN(name)-4) as nameL from myTable 问

我是否可以同时修剪和替换列的名称,以便将其分解为两部分?预期结果在nameL和nameR中

name        nameL    nameR
AB_1X       AB       1X
AXG_3X      AXG      3X
4G_12X      4G       12X
已尝试使用此查询:

select *,
RIGHT(name, LEN(name)-4) as nameR,
LEFT(name, LEN(name)-4) as nameL
from myTable
问题是它的修剪方式如下:

nameL    
AB_
AXG
4G_
名字也一样,因为我穿的是固定尺寸的。我如何消除“u”并实现预期结果?
提前感谢您

尝试组合使用
子字符串
charindex
功能:

DECLARE @t TABLE(name NVARCHAR(10))

INSERT INTO @t VALUES
('AB_1X'),
('AXG_3X'),
('4G_12X')

SELECT name, 
       SUBSTRING(name, 1, CHARINDEX('_', name) - 1) nameL,
       SUBSTRING(name, CHARINDEX('_', name) + 1, LEN(name)) nameR
FROM @t

我假设
名称
列中始终有下划线符号。

尝试组合
子字符串
charindex
函数:

DECLARE @t TABLE(name NVARCHAR(10))

INSERT INTO @t VALUES
('AB_1X'),
('AXG_3X'),
('4G_12X')

SELECT name, 
       SUBSTRING(name, 1, CHARINDEX('_', name) - 1) nameL,
       SUBSTRING(name, CHARINDEX('_', name) + 1, LEN(name)) nameR
FROM @t
我假设
名称
列中始终有下划线符号。

您可以使用:

SELECT RIGHT(name, LEN(name) - CHARINDEX('_', name)) AS nameR,
    LEFT(name, CHARINDEX('_', name) - 1) AS nameL
FROM myTable
您可以使用:

SELECT RIGHT(name, LEN(name) - CHARINDEX('_', name)) AS nameR,
    LEFT(name, CHARINDEX('_', name) - 1) AS nameL
FROM myTable

您需要看看如何使用charindex来找出uu发生的位置。然后您可以计算并使用LEFT和RIGHT来提取每个部分。对不起,rateName,忘记修改我的真实查询了。现在已经修复了,您需要看看如何使用charindex来找出uu发生的位置。然后您可以计算并使用LEFT和RIGHT来提取每个部分。对不起,rateName,忘记修改我的真实查询了。现在修好了