Sql 如何在保持0000格式的文本中返回十进制数(4,0)?
我想在存储函数中返回一个文本值,但我想成为Sql 如何在保持0000格式的文本中返回十进制数(4,0)?,sql,mysql,stored-procedures,stored-functions,Sql,Mysql,Stored Procedures,Stored Functions,我想在存储函数中返回一个文本值,但我想成为0001,而不是1 我有以下代码片段: DECLARE _RESTRICTEDROUTE DECIMAL(4,0); RETURN(_RESTRICTEDROUTE); 我试过了 RETURN(CAST(_RESTRICTEDROUTE AS TEXT)); 但是失败了。使用 这应该起作用: RETURN(LPAD(_RESTRICTEDROUTE, 4, "0")) 使用 这应该起作用: RETURN(LPAD(_RESTRICTEDROUT
0001
,而不是1
我有以下代码片段:
DECLARE _RESTRICTEDROUTE DECIMAL(4,0);
RETURN(_RESTRICTEDROUTE);
我试过了
RETURN(CAST(_RESTRICTEDROUTE AS TEXT));
但是失败了。使用
这应该起作用:
RETURN(LPAD(_RESTRICTEDROUTE, 4, "0"))
使用
这应该起作用:
RETURN(LPAD(_RESTRICTEDROUTE, 4, "0"))
我需要声明值4,有时是3,有时是2。在全球范围内是否有其他方式使用此功能?强制转换/转换在SPs中不起作用?@Pentium的
4
值是可能的最大位数,因此我认为强制转换永远不会留下必要的零。也许可以通过某种方式从模式表中获取值,但这可能会很复杂。检查另一个问题,我需要从声明中获取值4,有时是3,有时是2。在全球范围内是否有其他方式使用此功能?强制转换/转换在SPs中不起作用?@Pentium的4
值是可能的最大位数,因此我认为强制转换永远不会留下必要的零。也许可以通过某种方式从模式表中获取值,但这可能会很复杂,请检查其他问题