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

Sql 向值添加前缀

Sql 向值添加前缀,sql,oracle,Sql,Oracle,我有一个名为EMP_SAL的表,它有两列EID编号(7),SAL编号(4) EID列值:100101102 SAL列值:100020003000 我想更新该表,以便EID列中的值以ENO.100、ENO.101、ENO.102的形式显示,而不是以100101102的形式显示。答案是否。您不能在数字列中输入字符。您应该重新设计表并使EID列变为varchar2,以便将字符放在那里 更新将很简单: Update EMP set EID='ENO.'||EID; 为什么?您真的希望表中的每一行都永久

我有一个名为EMP_SAL的表,它有两列EID编号(7),SAL编号(4)

EID列值:100101102

SAL列值:100020003000


我想更新该表,以便EID列中的值以ENO.100、ENO.101、ENO.102的形式显示,而不是以100101102的形式显示。

答案是否。您不能在数字列中输入字符。您应该重新设计表并使EID列变为varchar2,以便将字符放在那里

更新将很简单:

Update EMP set EID='ENO.'||EID;

为什么?您真的希望表中的每一行都永久使用
ENO.
前缀,还是只想显示它?如果EID列包含数字,为什么它现在是varchar?如果您确实希望它包含前缀,则列不够宽-您需要增加大小以容纳它。很抱歉,EID数据类型是数字(7),您仍然没有澄清您是否实际更新表,或者只是希望在结果集中包含前缀。但不能将字符串前缀放入实际的表列中。可以使用计算列@AlexPoole我想更新表,EID数据类型是number(7),非常感谢@Floringhitai如果EID列数据类型更改为varchar2,那么我们也使用这个语法update EMP_SAL SET EID=LPAD(EID,7,'ENO');