怎么用变量给mysql里int型字段赋值Null

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用变量给mysql里int型字段赋值Null相关的知识,希望对你有一定的参考价值。

如果不是在存储过程中,你直接用set @ii = NULL;就可以定义一个@ii为null,而且没有任何指定类型。
如果是在存储过程中,就这样:
CREATE PROCEDURE ask()
BEGIN
DECLARE ii int;
set ii = NULL;
select 1,ii;
end
共同进步。
参考技术A 如果不是在存储过程中,你直接用set @ii = NULL;就可以定义一个@ii为null,而且没有任何指定类型。
如果是在存储过程中,就这样:
CREATE PROCEDURE ask()
BEGIN
DECLARE ii int;
set ii = NULL;
select 1,ii;。
参考技术B 是个什么东西 参考技术C 如果不是在存储过程中,你直接用set @ii = NULL;就可以定义一个@ii为null,而且没有任何指定类型。
如果是在存储过程中,就这样:
CREATE PROCEDURE ask()
BEGIN
DECLARE ii int;
set ii = NULL;
select 1,ii;
end
共同进步。

如何将int型数值赋值给char型数组

比如如何将int = 4赋给a[100]?
pc1 = a
*pc1 = 0xFF;
*(pc1+1) = 0x01
*(pc1+2) = (char)sum;
*(pc1+3) = (char)(sum >> 8);
*(pc1+4) = (char)(sum >> 16);
*(pc1+5) = (char)(sum >> 24);
sum++;
这样可以吗??

int型是四个字节大小,char 型是一个字节。
所以int型赋值给char数组需要把int型拆分。

int型拆分成四个字节,按顺序保存在char型数组中就可以了。
具体代码如下:
int i =4;
char a[100];
for(int j=0;j<sizeof(int);j++)

a[j]=((i>>(8*j))&0xff);


其中int型的值4就保存在了char型的数组a中了。
参考技术A char a[100];
int i = 4;
int loop = 0;
for(loop=0;loop<100;loop++)

a[loop] = (char)i;//注意强制类型转换!!!
参考技术B char a[100];
int i;
for(i=0;i<100;i++) //100个数组元素都赋值为4。
a[i]=4;
参考技术C fill(a,a+100,4)
也可 memset(a,4,100)

以上是关于怎么用变量给mysql里int型字段赋值Null的主要内容,如果未能解决你的问题,请参考以下文章

如何用php 在mysql的日期型数据中写入NULL

mysql存储过程中怎么在循环中取变量值???

sql中如何将已经赋值的字段变为原有的null

C语言 将整型变量赋值为空

怎么样把NULL值插入到SQL数据库的INT字段(int可为空)

sql语句怎么把NULL赋值给另一个值