Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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 - Fatal编程技术网

Sql 更新两个字段中的用例

Sql 更新两个字段中的用例,sql,sql-server-2008,Sql,Sql Server 2008,我需要在更新中使用下面的查询来更新名字和姓氏。最好的选择是什么 SELECT person.fullName, (CASE WHEN 0 = CHARINDEX(' ', person.fullName) then person.fullName ELSE SUBSTRING(person.fullName, 1, CHARINDEX(' ', person.fullName)) end) as first_name, (CASE WHEN 0 = CHARINDE

我需要在更新中使用下面的查询来更新名字和姓氏。最好的选择是什么

SELECT  
person.fullName,
(CASE WHEN 0 = CHARINDEX(' ', person.fullName) 
    then  person.fullName 
    ELSE SUBSTRING(person.fullName, 1, CHARINDEX(' ', person.fullName)) end) as first_name,  
(CASE WHEN 0 = CHARINDEX(' ', person.fullName) 
    THEN ''  
    ELSE SUBSTRING(person.fullName,CHARINDEX(' ', person.fullName), LEN(person.fullName) )end) last_name
FROM person

谢谢。

请尝试此代码,我没有修改您的条件,但向您展示了使用代码更新名字和姓氏的逻辑。我假设该表有FirstName和LastName列

UPDATE Person
SET
Person.FirstName =
(CASE WHEN 0 = CHARINDEX(' ', person.fullName) 
    then  person.fullName 
    ELSE SUBSTRING(person.fullName, 1, CHARINDEX(' ', person.fullName)) end)       ,  
Person.LastName =
(CASE WHEN 0 = CHARINDEX(' ', person.fullName) 
    THEN ''  
    ELSE SUBSTRING(person.fullName,CHARINDEX(' ', person.fullName), LEN(person.fullName) )end)
FROM person

什么是数据库。Oracle??是否使用此查询更新另一个表中的某些值?还是在同一张表中?对不起,sql server 2008和同一张表非常感谢!工作完美:)