SQL编号格式
答
使用TSQL你可以投钱并转换它将增加.00,但你可以使用替换或子字符串来删除。
replace(convert(varchar, cast(column as money), 1), '.00', '')
SQL 2005中您可以使用CLR函数以及
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlString FormatNumber(SqlInt32 number)
{
return number.Value.ToString("N0");
}
并把它作为任何其它用户定义的函数
SELECT dbo.FormatNumber(value)
答
在Oracle中,你可以指定一个格式参数to_char函数:
TO_CHAR(1234,'9,999') - > 1,234
答
对于SQL Server,可以将数字格式化为金钱,然后删除最右边的三个字符。
replace(convert (varchar, convert (money, 109999), 1), '.00','')
答
你想在服务器端完成这个任何特定的原因?看起来这是一个更适合客户/报告的任务。
否则,你是存储号码作为字符串,所以您可以保留原来的格式你想要的 - 但你只是失去了做就可以了,甚至基本的算术能力,而无需将其重新转换为数字。
如果你真的决定在SQL中做这件事,并有合理的理由,我想我的投票是在Scott的方法上:Value - > Money - > Varchar - >修剪小数部分
- Kevin Fairchild