对数值型字段写 insert into table1 values ('1')合法吗?
我知道应该写成 insert into table1 values (1) 把引号去掉,但是上面的加引号的写法也可以插入成功啊,但不知是否合规矩。
问题的产生是因为我现在用VB写一个程序,一个表里有许多的字段,有的字符型,有的数值型,我想若对数值型加引号的写法也合乎规矩的话,用个循环就很容易拼写INSERT插入语句了,例如
For i = 0 To 41
Sql = Sql & Text1(i) & "','"
Next i
否则的话,写insert 语句很长很长。
我知道应该写成 insert into table1 values (1) 把引号去掉,但是上面的加引号的写法也可以插入成功啊,但不知是否合规矩。
问题的产生是因为我现在用VB写一个程序,一个表里有许多的字段,有的字符型,有的数值型,我想若对数值型加引号的写法也合乎规矩的话,用个循环就很容易拼写INSERT插入语句了,例如
For i = 0 To 41
Sql = Sql & Text1(i) & "','"
Next i
否则的话,写insert 语句很长很长。
insert into table1 values (1) 这个字段是number型,插入成功,字符型会报错
oracle里面会自动隐式转换过去的。
因为规矩就是数字不加引号
字符要加引号
另外,如果你对数字加引号insert
那么花的时间就会多一些
因为数字为空时和不为空时都可以这样写,
否则的话还要加判断,麻烦
oracle本身会自己转换的,这样写没什么不好
我的程序也总是这样做。