MySQL 转换1,0为 true,false

蔚落 2022-11-21 03:52 413阅读 0赞

Mysql的基本数据类型中并没有布尔型,之所以建表和数据操作中能够使用BOOLEAN是因为mysql将其作为了tinyint(1)的别名。用0表示false,1表示true。

但开发过程中,既然我们给某一字段定义为布尔型,那么在我们获取数据后,期望得到的必然是布尔值而不是0或1。因此我们可以在得到返回值后转换一下。

这里我使用的是mysql模块,该模块允许给typeCase属性设置一个回调函数。详见官网说明 https://github.com/mysqljs/mysql#string

  1. connection.query({
  2. sql: '...',
  3. typeCast: function (field, next) {
  4. if (field.type == 'TINY' && field.length == 1) {
  5. return (field.string() == '1'); // 1 = true, 0 = false
  6. }
  7. return next();
  8. }
  9. });

发表评论

表情:
评论列表 (有 0 条评论,413人围观)

还没有评论,来说两句吧...

相关阅读