我是第一次写sql脚本,我想分离一个包含两个用户ID的值,看起来像这样
612831408762037_617540318291146
我想把这两个分开,所以我有一个
user_id = 612831408762037
和post_id = 617540318291146
关于我如何解决这个问题的任何想法?
提前致谢
答案 0 :(得分:1)
请尝试:
declare @var nvarchar(100)='612831408762037_617540318291146';
select
LEFT(@var, charindex('_',@var)-1),
RIGHT(@var, charindex('_',REVERSE(@var))-1)
答案 1 :(得分:0)
您可以为要显示的每个部分使用substr('value',start,length)。 substr函数从字符串或值中提取并返回特定的段。
答案 2 :(得分:0)
请试试这个。
DECLARE @document varchar(400);
DECLARE @FIRST int;
SELECT @document = '612831408762037_617540318291146234234234234';
SET @FIRST = (SELECT CHARINDEX('_', @document, 1));
SELECT rightSide = SUBSTRING(@document, 0,@FIRST), leftSide = SUBSTRING(@document, @FIRST+1, LEN(@document));