当前位置: 代码迷 >> 综合 >> # Mysql 、SqlServe、Oracle、DB2、PostgreSQL、Greenplum max()min() length()等 常用函数总结
  详细解决方案

# Mysql 、SqlServe、Oracle、DB2、PostgreSQL、Greenplum max()min() length()等 常用函数总结

热度:70   发布时间:2023-10-31 20:53:47.0

Mysql 、SqlServe、Oracle、DB2、PostgreSQL、Greenplum 常用函数总结


求出某列字段的最大长度
  • Mysql:使用Length()
SELECT max(LENGTH(time)) as  max_length from result
  • SqlServer:使用datalength()
SELECT MAX (DATALENGTH(time)) FROM result
  • Oracle:使用length()
SELECT max(LENGTH(time)) as  max_length from result
  • PostgreSQL:length('字符串') char_length('字符串')
    length()、char_length()只能测字符串的长度,所以不能直接统计列的长度
  • Greenplum:length('字符串') char_length('字符串')
    length()、char_length()只能测字符串的长度,所以不能直接统计列的长度
  • Db2:使用length()
select max(length(test1)) maxlength,min(length(test2)) minlength from test
判断非空
  • Mysql:max()和min()不能筛选null的值,所以我们应该判断如果记录中有null的时候记录的min()应该是0。使用ifnull(column,defaultvalue)进行判断,如果column的值为null,那么赋给column为0。
select max(ifnull(length(column1),0)) maxlength,min(ifnull(length(column1),0)) minlength from test
  • Sqlserver:使用isnull()进行空值的时候赋值
select max(isnull(datalength(column1),0)) maxlength,min(isnull(datalength(column1),0)) minlength from test
  • Postgresql:不需要判断空值,max() min()可以计算null的值为0
select max(test3) maxlength,min(test3) minlength from test
  • Greenplum:不需要判断空值,max() min()可以计算null的值为0
select max(test3) maxlength,min(test3) minlength from test
  • Oracle:使用nvl()函数,当为空值时候,给空值赋值
select max(nvl(length(test1),0)) maxlength,min(nvl(length(test1),0)) from test
  • Db2:使用coalesce(),当该列的内容为空值时候,给空值赋值
SELECT max(coalesce(length(column1),0)),min(coalesce(length((column1),0)) FROM test
  相关解决方案