在SQL中格式化sortcode字段

在SQL中格式化sortcode字段,sql,sql-server,tsql,format,Sql,Sql Server,Tsql,Format,在前一篇文章中,关于如何将数据nnnn格式化为nn的答案如下: SELECT FORMAT(CODE,'##-##-##') FROM TABLE_NAME 然而,我的问题是省略了前导0,因此012345被格式化为1-23-45,而不是01-23-45 我是否可以修改FORMAT命令,或者是否可以使用其他命令来支持此操作?您可以尝试此格式 SELECT FORMAT(CODE,'0#-##-##') SQLFIDLE:您可以尝试此格式 SELECT FORMAT(CODE,'0#-##

在前一篇文章中,关于如何将数据nnnn格式化为nn的答案如下:

SELECT 
FORMAT(CODE,'##-##-##') 
FROM TABLE_NAME
然而,我的问题是省略了前导0,因此012345被格式化为1-23-45,而不是01-23-45


我是否可以修改FORMAT命令,或者是否可以使用其他命令来支持此操作?

您可以尝试此格式

SELECT FORMAT(CODE,'0#-##-##') 

SQLFIDLE:

您可以尝试此格式

SELECT FORMAT(CODE,'0#-##-##') 

SQLFIDLE:

根据格式化后的排序码长度追加0

SELECT 
case when len(FORMAT(012345,'##-##-##') )<8 
then '0' +cast(FORMAT(012345,'##-##-##') as varchar(8)) end 
选择

len(格式化(012345,#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#

SELECT 
case when len(FORMAT(012345,'##-##-##') )<8 
then '0' +cast(FORMAT(012345,'##-##-##') as varchar(8)) end 
选择

len(格式(012345,#-#-#-#-#-#-#-#-#-#-#)ms access不能与T-SQL一起使用时的情况。如果是T-SQL,则是SQL Server或Sybase。SQL用于具有Access或SQL Server后端的工资系统,因此我将Access和T-SQL放在一起。道歉没什么可抱歉的,只是不清楚。我在这里已经有一段时间了,我看到很多不匹配的标记(通常人们同时标记MySql和Sql Server),所以我认为这也是问题所在……ms access不适用于T-Sql。如果是T-SQL,则是SQL Server或Sybase。SQL用于具有Access或SQL Server后端的工资系统,因此我将Access和T-SQL放在一起。道歉没什么可抱歉的,只是不清楚。我在这里已经有一段时间了,我看到很多不匹配的标记(通常人们同时标记MySql和Sql Server),所以我认为这也是问题所在…@JamesKnight这是我的荣幸:)@JamesKnight这是我的荣幸:)