SQL to_char()将2位数字打印为0xx,不接触3位数字
我现在正在和一些事情斗争 那对你来说一定很微不足道 我有2个编号191和97,我需要将它们放入SQL请求中,因为chars和97必须打印为097 起初我尝试了999,但它给我的号码增加了两个空格。 然后099,它会打印097,但会增加一个空格SQL to_char()将2位数字打印为0xx,不接触3位数字,sql,oracle,Sql,Oracle,我现在正在和一些事情斗争 那对你来说一定很微不足道 我有2个编号191和97,我需要将它们放入SQL请求中,因为chars和97必须打印为097 起初我尝试了999,但它给我的号码增加了两个空格。 然后099,它会打印097,但会增加一个空格 to_char(:center, '099') = " 197" and " 097" 这个空间从哪里来 谢谢。9 9999返回指定位数的值,如果为正数,则前导空格;如果为负数,则前导零为空。前导零为空,但零值除外,它为定点数字的整数部分返回零 从 使用
to_char(:center, '099') = " 197" and " 097"
这个空间从哪里来
谢谢。9 9999返回指定位数的值,如果为正数,则前导空格;如果为负数,则前导零为空。前导零为空,但零值除外,它为定点数字的整数部分返回零 从
使用@davidridge solution,或修剪您的值。您要查找的是格式修改器元素:
to_char(:center, 'fm099')
前导空间是潜在的负号。要删除它,您可以使用以下格式的
FM
:
to_char(v_num,'FM099')
如果要查找相同位数的所有列值,即使实际值的位数较少。试试这个
a) SELECT TO_CHAR(COLUMN_NAME, 'FM099') FROM TABLE_NAME;
b) SELECT TO_CHAR(COLUMN_NAME, 'FM000') FROM TABLE_NAME;
两者都很好。但不知道哪一个是最好的选择