Mysql 选择中的默认值

Mysql 选择中的默认值,mysql,sql,Mysql,Sql,我从中学习SQL: 这让我看到: LastName | FirstName Hanse | Ola Svendson | Tove Pettersen | Kari 在不从数据库获取数据的情况下,如何为自己的列添加数据? 例如: SELECT TEST(default: aaa), LastName,FirstName FROM Persons 这应该告诉我: TEST | LastName | FirstName aaa | Han

我从中学习SQL:

这让我看到:

LastName   |    FirstName
Hanse      |        Ola
Svendson   |    Tove
Pettersen  |    Kari
在不从数据库获取数据的情况下,如何为自己的列添加数据? 例如:

SELECT TEST(default: aaa), LastName,FirstName FROM Persons
这应该告诉我:

TEST | LastName   | FirstName
aaa  | Hanse      |        Ola
aaa  | Svendson   | Tove
aaa  | Pettersen  | Kari

如果要在表中的实际字段上创建默认值,可以使用或函数,请假定测试是实际字段:

SELECT COALESCE(test, 'aaa') as Test, LastName,FirstName FROM Persons

SELECT ISNULL(test, 'aaa') as Test, LastName,FirstName FROM Persons
这两个函数都将返回现场测试的实际值,如果测试为空,则返回“aaa”

我们在从表中检索下一个主键时使用COALESCE,而不使用Identity属性来维护PK

SELECT (COALESCE(MAX(PK), 0) + 1) FROM TableName

这样,如果表中不包含任何行,则返回1。

如果要在表中的实际字段上创建默认值,可以使用或函数,请假定测试是实际字段:

SELECT COALESCE(test, 'aaa') as Test, LastName,FirstName FROM Persons

SELECT ISNULL(test, 'aaa') as Test, LastName,FirstName FROM Persons
这两个函数都将返回现场测试的实际值,如果测试为空,则返回“aaa”

我们在从表中检索下一个主键时使用COALESCE,而不使用Identity属性来维护PK

SELECT (COALESCE(MAX(PK), 0) + 1) FROM TableName

这样,如果表中不包含任何行,则返回1。

Randy给出了图像字段的最佳方法,但如果测试是实际字段,您也可以这样做

select case when test is null then 'aaa' else test end, LastName,FirstName 
FROM Persons;

如果test为null,则返回aaa,否则返回test的值。

Randy给出了图像字段的最佳方法,但如果test是实际字段,您也可以这样做

select case when test is null then 'aaa' else test end, LastName,FirstName 
FROM Persons;
如果test为null,则返回aaa,否则返回test的值