H2 DB SQL,如何制作昨天日期的变量并在之后调用它
H2 DB SQL, how to make a variable of the yersterday's date and call it after
这是一个例子,我如何才能 select 前一天
SELECT DATEADD(day, -1, CAST(Current_date AS date)) AS YesterdayDate;
这是我的插入内容,如何让 YesterdayDate 在此示例中保持真实日期?
INSERT INTO dish(id, name, date_added, price, restaurant_id)
VALUES (14, 'SomeDish', YesterdayDate, 120,2);
INSERT INTO dish(id, name, date_added, price, restaurant_id)
VALUES (14, 'SomeDish', DATEADD(day, -1, CAST(Current_date AS date)), 120,2);
希望,你已经试过了
您需要使用用户自定义变量:
SET @YesterdayDate = CURRENT_DATE - INTERVAL '1' DAY;
INSERT INTO dish(id, name, date_added, price, restaurant_id)
VALUES (14, 'SomeDish', @YesterdayDate, 120, 2);
这些变量不会持久化,它们仅在当前会话中可见。它们以 @
符号为前缀。
如果您需要在其他会话中使用该变量,您可以创建一个常量来代替:
CREATE CONSTANT YesterdayDate VALUE CURRENT_DATE - INTERVAL '1' DAY;
INSERT INTO dish(id, name, date_added, price, restaurant_id)
VALUES (14, 'SomeDish', YesterdayDate, 120, 2);
-- After use
DROP CONSTANT YesterdayDate;
常量保存在数据库中,并且在所有会话中都可见。他们的名字按原样使用。
第二天不会自动更新用户定义的变量和常量的值。
这些变量和常量不能跨不同的 DBMS 移植。
这是一个例子,我如何才能 select 前一天
SELECT DATEADD(day, -1, CAST(Current_date AS date)) AS YesterdayDate;
这是我的插入内容,如何让 YesterdayDate 在此示例中保持真实日期?
INSERT INTO dish(id, name, date_added, price, restaurant_id)
VALUES (14, 'SomeDish', YesterdayDate, 120,2);
INSERT INTO dish(id, name, date_added, price, restaurant_id)
VALUES (14, 'SomeDish', DATEADD(day, -1, CAST(Current_date AS date)), 120,2);
希望,你已经试过了
您需要使用用户自定义变量:
SET @YesterdayDate = CURRENT_DATE - INTERVAL '1' DAY;
INSERT INTO dish(id, name, date_added, price, restaurant_id)
VALUES (14, 'SomeDish', @YesterdayDate, 120, 2);
这些变量不会持久化,它们仅在当前会话中可见。它们以 @
符号为前缀。
如果您需要在其他会话中使用该变量,您可以创建一个常量来代替:
CREATE CONSTANT YesterdayDate VALUE CURRENT_DATE - INTERVAL '1' DAY;
INSERT INTO dish(id, name, date_added, price, restaurant_id)
VALUES (14, 'SomeDish', YesterdayDate, 120, 2);
-- After use
DROP CONSTANT YesterdayDate;
常量保存在数据库中,并且在所有会话中都可见。他们的名字按原样使用。
第二天不会自动更新用户定义的变量和常量的值。
这些变量和常量不能跨不同的 DBMS 移植。