Sql server SQL Server正在删除varchar列上的前导零

Sql server SQL Server正在删除varchar列上的前导零,sql-server,Sql Server,我试图将数据插入到varchar50列中,但SQL Server会随机删除前导的零 我手动插入了1471,如下所示: insert into X (ds_code_product) values ('001471') 但SQL没有“1471” 截图: 以下是Create语句: CREATE TABLE [dbo].[PRODUCT]( [CD_PRODUCT] [int] IDENTITY(1,1) NOT NULL, [DS_CODE_PRODUCT] [varchar](5

我试图将数据插入到varchar50列中,但SQL Server会随机删除前导的零

我手动插入了1471,如下所示:

insert into X (ds_code_product) values ('001471')
但SQL没有“1471”

截图:

以下是Create语句:

CREATE TABLE [dbo].[PRODUCT](
    [CD_PRODUCT] [int] IDENTITY(1,1) NOT NULL,
    [DS_CODE_PRODUCT] [varchar](50) NOT NULL,
    [NM_PRODUCT] [varchar](200) NOT NULL,
    [DS_CODE_SUPPLIER] [varchar](50) NOT NULL,
    [CD_COMPANY_UNIT] [smallint] NOT NULL,
    [VL_STATUS] [smallint] NOT NULL,
    [DT_READ] [datetime] NULL,
    [DT_CREATE] [datetime] NOT NULL,
    [TP_PRODUCT] [varchar](1) NULL DEFAULT ('1'),
 CONSTRAINT [PK_PRODUCT] PRIMARY KEY CLUSTERED 
(
    [CD_PRODUCT] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identificador do Produto' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PRODUCT', @level2type=N'COLUMN',@level2name=N'CD_PRODUCT'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Código do Produto ERP' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PRODUCT', @level2type=N'COLUMN',@level2name=N'DS_CODE_PRODUCT'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Descrição do Produto' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PRODUCT', @level2type=N'COLUMN',@level2name=N'NM_PRODUCT'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Código do Fornecedor ERP' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PRODUCT', @level2type=N'COLUMN',@level2name=N'DS_CODE_SUPPLIER'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Código da Filial' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PRODUCT', @level2type=N'COLUMN',@level2name=N'CD_COMPANY_UNIT'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Status de importação:
(1) importado pelo ERP com sucesso.
(2) importado pelo ERP inconsistência.
(3)Lido com sucesso pela automação.
(4)lido automação com inconsistência.
' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PRODUCT', @level2type=N'COLUMN',@level2name=N'VL_STATUS'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Data da Leitura' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PRODUCT', @level2type=N'COLUMN',@level2name=N'DT_READ'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Data da Importação' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PRODUCT', @level2type=N'COLUMN',@level2name=N'DT_CREATE'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Tipo de Produto:
1 - Geral (Valor Padrão)
2-  Matéria-Prima
3 - Produto Final 
' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PRODUCT', @level2type=N'COLUMN',@level2name=N'TP_PRODUCT'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Tabela de Produtos' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PRODUCT'
GO
完整插入:

INSERT INTO PRODUCT (DS_CODE_PRODUCT, NM_PRODUCT, DS_CODE_SUPPLIER, CD_COMPANY_UNIT, VL_STATUS, DT_CREATE, TP_PRODUCT)
VALUES ('001441','TORTA DE ALGODAO GRANEL','-1',22,1,'2016/03/09','2')

除非数据类型是整数或数字类型,或者插入的数据没有引号,否则不会发生这种情况。您是否发布了确切的insert语句?简单地复制您的场景不会产生这个问题-创建表X ds_code_产品VARCHAR50;插入X ds_代码_产品值“001471”;从X中选择*;DROP TABLE XPlease显示您的表架构,包括任何约束或触发器,如@GarethD所述,这无法用您在问题中所显示的内容复制。好的,只需使用create和insert语句编辑文章即可@GarethD@LeandroDaminelli你有触发器吗?还显示检索数据的查询。