【问题标题】:SQL table taking 1900-01-01 as a date以 1900-01-01 为日期的 SQL 表
【发布时间】:2018-05-24 22:17:24
【问题描述】:

我创建了一个日期时间选项,我试图将它输入到一个 sql 表中,当值为空或空白时,它作为 1900-01-01 进入表。有没有办法创建一个 sql 语句来使这个值 NULL 而不是 0?

UPDATE animals_table
 SET
   animalname = 'Mary'
   animaltype = 'Husky'
 WHERE
   animalid = '123456'

我之前在阅读案例陈述,我不知道这是否是正确的方向,如果这是我开始的地方。

UPDATE animals_table
 SET
   animalname = 'Mary'
   animaltype = 'Husky'
 WHERE
   animalid = '123456'
 AND CASE
 WHEN
   dategiven = '1900-01-01'
 THEN
   dategiven = NULL;

【问题讨论】:

标签: sql sql-server


【解决方案1】:

试试这个NULLIFSQL2008+

UPDATE animals_table
 SET
   animalname = 'Mary'
   ,animaltype = 'Husky'
 WHERE
   animalid = '123456'
 and  ISNULL(NULLIF(dategiven,'1900-01-01'),'') = ''

 UPDATE animals_table
 SET
   animalname = 'Mary'
   ,animaltype = 'Husky'
 WHERE
   animalid = '123456'
 and  NULLIF(dategiven,'1900-01-01') IS NULL

【讨论】:

    猜你喜欢
    • 2020-02-16
    • 1970-01-01
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    相关资源
    最近更新 更多