Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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
Mysql 是否需要根据条件插入while循环?_Mysql_Sql_If Statement - Fatal编程技术网

Mysql 是否需要根据条件插入while循环?

Mysql 是否需要根据条件插入while循环?,mysql,sql,if-statement,Mysql,Sql,If Statement,我想根据以下条件在列中插入值。要插入的列的名称为project\u renewal 如果项目代码中存在小数,请在小数后插入数字 SELECT substring_index(project_code, '.', -1) FROM projects where project_code like '%.%' 如果没有小数,则插入0 SELECT project_code FROM projects where project_code not like '%.%' 插入顺序必须与从项目代码中读

我想根据以下条件在列中插入值。要插入的列的名称为project\u renewal

如果项目代码中存在小数,请在小数后插入数字

SELECT substring_index(project_code, '.', -1)
FROM projects where
project_code like '%.%'
如果没有小数,则插入0

SELECT project_code
FROM projects where
project_code not like '%.%'

插入顺序必须与从项目代码中读取值的顺序相同。

您可以这样做:

 INSERT IGNORE INTO outtable (code)
 SELECT IF (project_code LIKE '%.%'
     , substring_index(project_code, '.', -1)
     , 0)
 FROM projects
INSERT INTO tablename(project_renewal)
SELECT trim(trailing '0' from substring_index(project_code, '.', -1)) + 0
FROM projects
请参阅。

如果要更新同一表中的列,请使用update语句:

UPDATE projects
SET project_renewal = trim(trailing '0' from substring_index(project_code, '.', -1)) + 0

请参阅。

如果项目代码的值为1.2,您希望插入什么:2或20?2。下面的答案对我有用。谢谢