首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MSSQL到MySQL的正确语法

从MSSQL到MySQL的正确语法
EN

Stack Overflow用户
提问于 2021-08-10 07:04:02
回答 1查看 63关注 0票数 0

日安!

MySQL中正确的语法查询是什么?我在执行过程中遇到mysql中的错误(您的SQL语法出现了错误;请检查与MySQL服务器版本对应的手册,以获得在“EmpCode”附近使用的正确语法(“EMP”,右)(Concat(‘0000’,EmpId,第3行))

代码语言:javascript
复制
CREATE TABLE tbEmployee
(
                EmpId INT NOT NULL, PRIMARY KEY,
                EmpCode AS CONCAT('EMP' , RIGHT(Concat('0000', CONVERT(EmpId, CHAR(5))),5)) PERSISTED,
                EmployeeName VARCHAR(50),
                Age        INT,
                Gender VARCHAR(10)
)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-10 07:09:42

MySQL生成的列要么是VIRTUAL (默认值),要么是STORED,后者对应于Server的持久化。试试这个版本:

代码语言:javascript
复制
CREATE TABLE tbEmployee (
    EmpId INT NOT NULL PRIMARY KEY,
    EmpCode VARCHAR(50) AS (CONCAT('EMP', LPAD(EmpId, 5, '0'))) STORED,
    EmployeeName VARCHAR(50),
    Age INT,
    Gender VARCHAR(10)
);

还请注意,MySQL在将数字列转换为文本方面比较松懈。此外,我们还可以使用MySQL的LPAD函数将员工ID左移至零,宽度为5位。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68722333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档