0

我正在尝试执行如下插入查询:

Insert Into table1 (column1, column2)
Values (#value1#, #value2#)

但是比方说,我想2/19/2013在参数#value2#为空时默认 column2 。我将如何实现这一目标?

我正在使用 Ibatis 框架,插入语句位于 XML 文件中,该文件用于从控制器调用的 db 文件中。

4

2 回答 2

2

This may be what you're looking for:

ISNULL(#value2#,'2/19/2013')

于 2013-02-19T20:48:50.103 回答
2

如果您无法更改来自 XML 文件的插入语句,您可以考虑创建触发器

CREATE TRIGGER table1_Insert ON table1
INSTEAD OF INSERT
AS
INSERT INTO table1 (column1, column2)
    SELECT column1, ISNULL(column2,'2/19/2013') FROM INSERTED;

然后如果尝试插入一个NULL

INSERT INTO table1 VALUES (1, NULL);

你会有

| COLUMN1 |   COLUMN2 |
-----------------------
|       1 | 2/19/2013 |

这是sqlfiddle

于 2013-02-19T21:09:17.460 回答