sql資料庫如何把null轉化為空字元

2021-08-19 15:13:04 字數 6307 閱讀 3661

1樓:匿名使用者

sqlserver中可用isnull函式:

select isnull(null,'');

oracle中可用nvl函式:

select nvl(null,'') from dual;

mysql中可用ifnull函式:

select ifnull(null,'');

2樓:尹匡

不能set為""的話 ,那你是要把int型別 轉換為varchar 型別 就可以了

3樓:匿名使用者

可以用isnull()函式來轉

如select isnull(col1,'') from table1

4樓:匿名使用者

update table set col='' where col is null

sql如何把查詢到的null替換成空值?

5樓:妞兒媽媽

1、這要看你如何儲存你查詢的結果。只能是你把你查詢的結果儲存為0,查詢不會改變原本存在的值。表名test,欄位a=.

null.(int型),欄位b=1,欄位c=2 :select * from test into tabel test1

update set a=0 where a=.null。

2、用 isnull(欄位名, '')  可以將null的欄位轉換為空值,這在多個欄位連線時很有用,因為null值+任何欄位都是null。

3、將null替換為空create procedure fill_null@tablename varchar(100) --表名asdeclare @colname varchar(100)declare col_cur cursor for select c.name from syscolumns c,sysobjects o where c.id=o.

id and o.name=@tablename open col_curfetch next from col_cur into @colnamewhile @@fetch_status!=-1beginexec ('update '+@tablename+' set '+@colname+'='''' where '+@colname+' is null' )fetch next from col_cur into @colnam endclose col_curdeallocate col_cur

6樓:風風風姬姬姬

isnull(expression,'') 就是將null換成 0長度字元啊

isnull(expression,0) 才是將null換成 0 呢select isnull(expression,'') from tab;

你的資料型別是數值型,替換後將會將空字元值隱式轉換為0。

無論什麼值,用isnull函式轉換後都要根據原有值型別匹配。

如何用sql server內建的函式把null轉換成空字串

7樓:匿名使用者

isnull(欄位名,'')

如果欄位為null,會得到空字串;如果欄位不為null,則會得到欄位值

update語句中如何向sql資料庫寫入null

8樓:

請採用以下指令碼,試試

update [表] set endtime =null

請採納!

9樓:

語法如下:

update table set col_name=null where id=1

資料表 table的欄位 col_name 需要支援為null才能正常執行。

10樓:匿名使用者

首先你的資料庫的endtime欄位要允許為空,可為空直接修改

update dbname set endtime=null

或update dbname set endtime is null where 1=1

11樓:匿名使用者

update **名 set endtime=null where id=x; 不知道能不能幫你解決問題。你應該敘述清楚點。這樣才好幫你解決。

12樓:鵲膚

insert into tb(col2,col4,col6) select col2,col4,col6 from ta

選擇其中的列插入到另一個表中

13樓:匿名使用者

update [table] set endtime=null where ...

sql 語句 把一個值為0的欄位改為空('null')

14樓:匿名使用者

a=''表示將a設定為''字串,並非null

寫成a=null試試看!

15樓:匿名使用者

update a set a=null

16樓:丿

update a set a is null where a='0'

17樓:運動的使命

update 表 set 欄位= null where 欄位='0'

access資料庫:怎麼直接從access裡把資料為null的替換成空字元""

18樓:匿名使用者

執行下列sql語句就可以null全換成空字元:

update 需要更新的表名 set [需要處理的欄位名]='' where [需要處理的欄位名] is null;

例如已經開啟了ado連線物件cn

dim strsql as string

strsql="update table1 set [col1]='' where [col1] is null;"

cn.execute strsql '執行sql語句

19樓:匿名使用者

不難,用查詢替換就可以,用更新查詢也可以。

怎樣將sql資料庫欄位中的null都替換為空

20樓:司馬刀劍

大概想法是通過利用sys.columns這個系統表,然後組合語句之後執行。

declare @cmd varchar(max)declare @column varchar(max)declare @index intwhile 1 = 1 select top 1 @column = name, @index = column_id from sys.columns where column_id > @index and object_name(object_id) = 'table_name'if @column is null breakselect @com = 'update table_name set ' + @column + ' = '''' where ' + @column + ' is null'exec(@cmd)end

如何往資料庫插入欄位為空值的sql語句

21樓:匿名使用者

insert into tab (name,num) values ('aaa','')或

insert into tab (name,num) values ('aaa',null)

22樓:枯草木

首先,要確認

bai該欄位是否允許du為空,如果不允許則zhi無法插入。dao

如果該回欄位允許為空則可參考以下方法答插入:

比如資料表table的欄位有:name,email,addr。其中addr可以為空,並插入空值。sql語句如下:

insert into table(name,email) values('xiaoming','my email')

23樓:匿名使用者

既然找出問題了為什麼不把解決方法說出來~~~

24樓:匿名使用者

欄位對應的值直接寫null

25樓:匿名使用者

insert into tab (name) values ('aaa')

26樓:匿名使用者

num is null 就行了吧

27樓:匿名使用者

我用mysql測試如下圖:

總結:int型別只能用null,不能用'';而char兩者都可以。

sql資料庫delete刪除的欄位如果為空字串怎麼刪除

28樓:本貞怡仇希

假設表有4個欄位為field1-field4

只有有一個欄位為空就刪除

delete

biao

where

field1

isnull

orfield2

isnull

orfield3

isnull

orfield4

isnull

所有欄位為空才刪除:

delete

biao

where

field1

isnull

andfield2

isnull

andfield3

isnull

andfield4

isnull

第二個問題,看不出您的日期欄位格式是什麼格式,也沒看清您想要什麼樣的結果,相距的時間是什麼?是天,還是月,還是年?

假設您的日期欄位是datetime型別,我列舉了您需求的多種情況:

--如果是要幾年或幾天或幾個月,下面三行分別得到總年數或總月數或總天數(如果是一年就會得到365或366)

select

datediff(year,註冊時間,getdate())--總年數(整數)

select

datediff(month,註冊時間,getdate())--總月數(整數)

select

datediff(day,註冊時間,getdate())--總天數(整數)

--如果是要得到幾年和幾個月和幾天的組合結果(與上面的總數結果不同,這裡日不會過31,月不會過12,年月日結果是進位關係),按下面的方法得到.

select

cast(datename(year,getdate()-註冊時間)-1900

asvarchar)+'年'

+cast(datename(month,getdate()-註冊時間)-1

asvarchar)+'個月'

+cast(datename(day,getdate()-註冊時間)-1

asvarchar)+'日'

注意:上面兩例中,註冊時間是您的欄位名,getdate()是求出的當前日期和時間,如果是別的什麼時間欄位,如最後登入時間,直接用登入時間替換getdate()就行了.

=====================

sqlserver中的空值就是這樣的(null),您說的,應該即不是空值,也不是零長度的字串,也不是數值零.

所以,當不是空值時,您必須要告訴我們欄位是什麼型別的.

如果您的欄位是varchar,nvarchar或char型別的,

那麼可能就有三種情況,

1.是空格.

2.是零長度字串.

3.是不可顯示的亂字元.

但無論哪一種情況情況,只要是字元型的,用您的語句都不會報錯,就是這一句:

delete

biao

where

field1=''

除非欄位或表名有錯誤.

建議:如果是字元型欄位(varchar,nvarchar或char型別等)

delete

biao

where

rtrim(field1)=''

如果是數值型欄位(int,float,decimal等型別,甚至日期型)都可以用下面的語句刪除0值.

delete

biao

where

rtrim(field1)=0

就是說:

如果不是空值(null),就必須要知道欄位是什麼型別才能確定語法格式.

====================

******************************

最後提醒您,我費了好長時間回答您的問題,為了使用我們下次還有這麼大的積極性,最少要加到200分才行啊!

關聯式資料庫sql語言,關聯式資料庫SQL語言?

從關聯式資料庫r中列出屬性a,b,以及c的平均值,其條件是屬性d等於d,並將a,b分組列出,並篩選出c的平均值大於c1.好熟悉啊,不過都還大學老師了 執行的順序是從索引開始的,也就是條件,限制句中開始的,這樣可以減少i o次數 輸入,輸出 它所顯示的結果是這樣的 顯示的有 a列資料,b列資料和c列資...

sql資料庫題求大神幫忙,sql資料庫題求大神幫忙

if object id n member is not null drop table membercreate table member mid char 10 not null primary key,mname char 50 not null goexec sp addextendedpr...

sql資料庫區域網共享,SQL資料庫區域網共享

首先配置你的sqlserver允許遠端訪問,然後修改程式中的資料庫連線字串datasrouce 你電腦的區域網ip,就可以了 把裝了sql的那臺防火牆關掉 在另兩臺電腦用遠端訪問連線 區域網內可通過網路上的芳鄰 訪問資料庫 三臺電腦都加入同一個網,一臺電腦裝上sql2000,將外圍配置設定成可以遠端...