SQL SERVER 时间显示

--当前时间为2020年5月12日
Select convert(varchar(100),getdate(),0);       --月 日  4位年 时:分AM/PM           (如:05 12 2020 10:50AM)
Select convert(varchar(100),getdate(),1);       --月/日/2位年                      (如:05/12/20)
Select convert(varchar(100),getdate(),2);       --2位年.月.日                       (如:20.05.12)
Select convert(varchar(100),getdate(),3);       --日/月/2位年                      (如:12/05/20)
Select convert(varchar(100),getdate(),4);       --日.月.2位年                      (如:12.05.20)
Select convert(varchar(100),getdate(),5);       --日-月-2位年                      (如:12-05-20)
Select convert(varchar(100),getdate(),6);       --月 日 2位年                      (如:12 05 20)
Select convert(varchar(100),getdate(),7);       --月 日,2位年                      (如:05 12, 20)
Select convert(varchar(100),getdate(),8);       --时:分:秒                         (如:11:20:06)
Select convert(varchar(100),getdate(),9);       --月 日4位年 时:分:秒:毫秒AM/PM    (如:05 12 2020 11:23:36:763AM)
Select convert(varchar(100),getdate(),10);      --月-日-2位年                         (如:05-12-20)             
Select convert(varchar(100),getdate(),11);      --2位年/月/日                      (如:20/05/12)
Select convert(varchar(100),getdate(),12);      --2位年月日                        (如:200512)
Select convert(varchar(100),getdate(),13);      --日月4位年 时:分:秒:毫秒         (如:12 05 2020 11:38:32:920)
Select convert(varchar(100),getdate(),14);      --时:分:秒:毫秒                    (如:11:39:51:107)
Select convert(varchar(100),getdate(),20);      -- 4位年-月-日 时:分:秒            (如:2020-05-12 11:39:51)
Select convert(varchar(100),getdate(),21);      -- 4位年-月-日 时:分:秒:毫秒       (如:2020-05-12 11:39:51.107)
Select convert(varchar(100),getdate(),22);      --月/日/2位年 时:分:秒AM/PM        (如:05/12/20 11:39:51 AM)
Select convert(varchar(100),getdate(),23);      --4位年-月-日                      (如:2020-05-12)
Select convert(varchar(100),getdate(),24);      --时:分:秒                         (如:11:46:00)
Select convert(varchar(100),getdate(),25);      --4位年-月-日 时:分:秒.毫秒        (如:2020-05-12 11:48:24.870)
Select convert(varchar(100),getdate(),100);     --月 日 4位年 时:分AM/PM           (如:05 12 2020 11:48AM)
Select convert(varchar(100),getdate(),101);     --月/日/4位年                      (如:05/12/2020)
Select convert(varchar(100),getdate(),102);     --4位年.月.日                      (如:2020.05.12)
Select convert(varchar(100),getdate(),103);     --月/日/4位年                      (如:12/05/2020)
Select convert(varchar(100),getdate(),104);     --日.月.4位年                      (如:12.05.2020)
Select convert(varchar(100),getdate(),105);     --日-月-4位年                      (如:12-05-2020)
Select convert(varchar(100),getdate(),106);     --日 月 4位年                      (如:12 05 2020)
Select convert(varchar(100),getdate(),107);     --月 日,4为年                      (如:05 12, 2020)
Select convert(varchar(100),getdate(),108);     --时;分;秒                         (如:11:55:34)
Select convert(varchar(100),getdate(),109);     --月 日 4位年 时;分;秒;毫秒AM/PM   (如:05 12 2020 11:55:34:033AM)
Select convert(varchar(100),getdate(),110);     --月-日-4位年                      (如:05-12-2020)
Select convert(varchar(100),getdate(),111);     --4位年/月/日                      (如:2020/05/12)
Select convert(varchar(100),getdate(),112);     --4位年月日                        (如:20200512)
Select convert(varchar(100),getdate(),113);     --日 月 4位年 时:分:秒:毫秒        (如:12 05 2020 11:59:10:587)
Select convert(varchar(100),getdate(),114);     --时:分:秒:毫秒                    (如:11:59:10:587)
Select convert(varchar(100),getdate(),120);     --4位年-月-日 时;分:秒             (如:2020-05-12 11:59:10)
Select convert(varchar(100),getdate(),121);     --4位年-月-日 时:分:秒:毫秒(如:2020-05-12 11:59:10.587)
Select convert(varchar(100),getdate(),126);     --4位年-月-日T时:分:秒:毫秒(如:2020-05-12T11:59:10.587)
    DECLARE @b_yy DATETIME
          , @b_mm DATETIME
          , @e_mm DATETIME
          , @mm   VARCHAR(6)
          , @yy   VARCHAR(4);
    DECLARE @h_mm DATETIME    --环比月月初
          , @h_yy DATETIME    --环比月年初
          , @hm   VARCHAR(6); --环比月
    DECLARE @b_ly  DATETIME
          , @b_lm  DATETIME
          , @b_llm DATETIME
          , @e_lm  DATETIME
          , @lm    VARCHAR(6)
          , @ly    VARCHAR(4);
    --赋值
    SET @b_yy = DATEADD(yy, DATEDIFF(yy, 0, GETDATE() - 1), 0); --年初第一天  
    SET @yy = CONVERT(CHAR(4), @b_yy, 112); --今年年份  
    SET @b_mm = DATEADD(mm, DATEDIFF(mm, 0, GETDATE() - 1), 0); --本月第一天  
    SET @e_mm = DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0); --今天  
    SET @mm = CONVERT(CHAR(6), @b_mm, 112); --本月月份  

    SET @h_mm = DATEADD(mm, -1, @b_mm); --环比月初第一天
    SET @h_yy = DATEADD(yy, DATEDIFF(yy, 0, @h_mm), 0); --环比月年初第一天
    SET @hm = CONVERT(CHAR(6), @h_mm, 112); --环比月

    SET @b_ly = DATEADD(yy, -1, @b_yy); --同比年初第一天  
    SET @b_lm = DATEADD(yy, -1, @b_mm); --同比月第一天  
    SET @b_llm = DATEADD(mm, 1, DATEADD(yy, -1, @b_mm)); --同比月的下个月的第一天
    SET @e_lm = DATEADD(yy, -1, @e_mm); --同比月今天  
    SET @ly = CONVERT(CHAR(4), @b_ly, 112); --同比年  
    SET @lm = CONVERT(CHAR(6), @b_lm, 112); --同比月 

写一个简单插入数据的存储过程,期中包括声明时间变量,赋值时间变量,然后插入数据@InsertTime 是记录插入的时间

---查看视图字段类型
SELECT 
    COLUMN_NAME
    ,DATA_TYPE
    ,CHARACTER_MAXIMUM_LENGTH
    ,NUMERIC_PRECISION
	,NUMERIC_SCALE
FROM 
    INFORMATION_SCHEMA.COLUMNS
WHERE 
    TABLE_NAME = 'PO_PomainView' --AND COLUMN_NAME = 'cVenCode';


-- 删除旧表(如果存在)
IF OBJECT_ID('PO_PomainViewT', 'U') IS NOT NULL
    DROP TABLE PO_PomainViewT;
GO
 
-- 创建目标表 PO_PomainViewT
CREATE TABLE PO_PomainViewT (
    dPODate DATETIME NULL,         -- 订单日期
    cPOID NVARCHAR(30) NULL,       -- 订单编号
    cVenCode NVARCHAR(20) NULL,    -- 供应商编码
    cVenName NVARCHAR(98) NULL,    -- 供应商名称
    cItemCode NVARCHAR(60) NULL,   -- 项目编码
    cItemName NVARCHAR(255) NULL,  -- 项目名称
    cInvCode NVARCHAR(60) NULL,    -- 存货编码
    cInvName NVARCHAR(255) NULL,   -- 存货名称
    cInvStd NVARCHAR(255) NULL,    -- 规格型号
    cInvDefine3 NVARCHAR(20) NULL, -- 加工类型
    dArriveDate DATETIME NULL,     -- 需求日期
    iQuantity DECIMAL(30, 10) NULL,-- 订单数量
    iTaxPrice DECIMAL(28, 6) NULL, -- 含税单价
    iSum DECIMAL(19, 4) NULL,      -- 含税金额
    cbMemo NVARCHAR(255) NULL,     -- 行备注
    cDefine23 NVARCHAR(60) NULL,   -- 请购人
    cDefine28 NVARCHAR(120) NULL,  -- 品牌
    cDefine22 NVARCHAR(60) NULL,   -- 加工类型
    cMemo NVARCHAR(255) NULL,      -- 备注
    sh VARCHAR(4) NULL,            -- 审核状态
    asum DECIMAL(19, 4) NULL,      -- 未入库数量
    InsertTime VARCHAR(100) NULL   -- 记录插入的时间
);
GO
 
-- 删除旧存储过程(如果存在)
IF OBJECT_ID('usp_UpdatePO_PomainViewT', 'P') IS NOT NULL
    DROP PROCEDURE usp_UpdatePO_PomainViewT;
GO
 
-- 创建存储过程 usp_UpdatePO_PomainViewT
CREATE PROCEDURE usp_UpdatePO_PomainViewT
AS
BEGIN
    -- 声明变量
    DECLARE @InsertTime VARCHAR(100);
 
    -- 设置变量值为当前时间,格式为 yyyy-mm-dd hh:mi:ss
    SET @InsertTime = CONVERT(VARCHAR(100), GETDATE(), 120);
 
    -- 删除目标表中的旧数据
    TRUNCATE TABLE PO_PomainViewT;
 
    -- 从视图 PO_PomainView 中插入新数据到 PO_PomainViewT
    INSERT INTO PO_PomainViewT (
        dPODate,    -- 订单日期
        cPOID,      -- 订单编号
        cVenCode,   -- 供应商编码
        cVenName,   -- 供应商名称
        cItemCode,  -- 项目编码
        cItemName,  -- 项目名称
        cInvCode,   -- 存货编码
        cInvName,   -- 存货名称
        cInvStd,    -- 规格型号
        cInvDefine3,-- 加工类型
        dArriveDate,-- 需求日期
        iQuantity,  -- 订单数量
        iTaxPrice,  -- 含税单价
        iSum,       -- 含税金额
        cbMemo,     -- 行备注
        cDefine23,  -- 请购人
        cDefine28,  -- 品牌
        cDefine22,  -- 加工类型
        cMemo,      -- 备注
        sh,         -- 审核状态
        asum,       -- 未入库数量
        InsertTime  -- 记录插入的时间
    )
    SELECT 
        dPODate,    -- 订单日期
        cPOID,      -- 订单编号
        cVenCode,   -- 供应商编码
        cVenName,   -- 供应商名称
        cItemCode,  -- 项目编码
        cItemName,  -- 项目名称
        cInvCode,   -- 存货编码
        cInvName,   -- 存货名称
        cInvStd,    -- 规格型号
        cInvDefine3,-- 加工类型
        dArriveDate,-- 需求日期
        iQuantity,  -- 订单数量
        iTaxPrice,  -- 含税单价
        iSum,       -- 含税金额
        cbMemo,     -- 行备注
        cDefine23,  -- 请购人
        cDefine28,  -- 品牌
        cDefine22,  -- 加工类型
        cMemo,      -- 备注
        sh,         -- 审核状态
        asum,       -- 未入库数量
        @InsertTime -- 当前插入时间
    FROM PO_PomainView;
 
END;
GO

--查看存储过程
exec sp_helptext 'usp_UpdatePO_PomainViewT'
-- 查询
select top 10 *from PO_PomainView;

select count(*) as 列数  from PO_PomainView;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好玩的Matlab(NCEPU)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值