Sql 我怎样才能只打印名字?
而不是Sql 我怎样才能只打印名字?,sql,sql-server,substring,Sql,Sql Server,Substring,而不是 SELECT TOP 1 REPLACE(name, , '' ) FROM OBJ_R) AS lastname And SELECT SUBSTRING(NAME FROM 1 FOR POSITION(',' IN NAME)-1) FROM OBJ_R 我试过这个: Beyeler,Nicole Nicole Müller, Barbara Barbara
SELECT TOP 1 REPLACE(name, , '' )
FROM OBJ_R) AS lastname
And
SELECT SUBSTRING(NAME
FROM 1 FOR POSITION(',' IN NAME)-1)
FROM OBJ_R
我试过这个:
Beyeler,Nicole Nicole
Müller, Barbara Barbara
Ostmann,Heinz Heinz
一个选项将
CHARINDEX
与子字符串一起使用:
SELECT SUBSTRING(NAME
FROM 1 FOR POSITION(',' IN NAME)-1)
FROM OBJ_R
注意:我在上面使用了LTRIM
,因为您的示例数据意味着逗号后面、姓氏后面可能有空格。如果没有,则可以将其删除。您使用的是哪种dbms?(该代码是特定于产品的。)我使用SQL Server,我建议进行设计更改。将名字和姓氏存储在两个单独的列中。这可能与您之前关于替换/子字符串的文章相同。我可以使用长度
SELECT
name,
LTRIM(SUBSTRING(name,
CHARINDEX(',', name) + 1,
LEN(name) - CHARINDEX(',', name))) AS first_name
FROM OBJ_R;