本篇博客并不想说明什么原理,只是分享一下自己在使用两种数据库管理系统(mysql, sql server)时, 对类型转换的一些心得与发现。
核心问题:在列的类型是数字类型,而你不小心输入了字符串类型,系统会帮你更正吗?
我们在处理数据库中的表时,面对最多的就是数字类型,与字符串类型了。不过像是数据库名,表名,列名,视图名,表的别名,列的别名都是字符串,所以我们在创建表,在写表名,与列名时都是直接写的不必在乎它的类型,如
CREATE TABLE tb1(Name VARCHAR(10), Age INT)
这里直接写 tb1, Name, Age 直接写即可,当然如果你非要加‘ ’反而会报错。
A.mysql 可以实现字符串与数字的转换(根据你定义时列的类型)
以这个表为例,empid为字符串类型,sales, month为整型。
执行下面的sql语句
UPDATE tb
SET sales = '100'
WHERE empid = 'A107'
sales为整型,我故意用字符型来更新,结果程序仍可执行。
不过WHERE 语句后一定要严格遵守类型,否则会报错
B. sql server 同意支持这种转换
ps:无用的发现又增加了,好耶🤦♂️🤦♂️😢