首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转换为特定格式。$符号和电话号码

转换为特定格式。$符号和电话号码
EN

Stack Overflow用户
提问于 2014-06-16 03:26:31
回答 3查看 240关注 0票数 0

我正在使用Microsoft SQL Server 2008

在SQL中,我有这种格式为3M/3M的数据。我想将此数据转换为$3M/$3M格式。同样在SQL中,我有这种格式的电话号码123456781。我想把这个数据转换成这个电话格式(123)-456-7891。

我如何转换它?我应该使用CAST函数还是CONVERT函数?

更正:

是的,我想在我的SELECT查询中以上述格式显示它们。3M/3M只是SQL中数据的一个示例。名为Money的列具有这种类型的数据,我想将其转换为$3M/$3M等...

电话号码也是一样。我有一个列名为PhoneNumber的列,其中包含格式为1234567891的数据,我想将其转换为(1234567891等)。有很多电话号码..。

EN

回答 3

Stack Overflow用户

发布于 2014-06-16 03:35:48

我相信您的意思是在您的SELECT查询中以上述格式显示它们。然后,您可以像下面这样使用LEFT() or RIGHT()函数并连接$字符。

代码语言:javascript
复制
select '$' + left('3M/3M',2) + '/$' + right('3M/3M',2);

$3M/$3M格式的结果

电话号码

代码语言:javascript
复制
select '('+ left('123456781',3) + ')-'+
right(left('123456781',6),3)+'-'+right('123456781',3)

(123)-456-781格式的结果

票数 0
EN

Stack Overflow用户

发布于 2014-06-16 03:47:00

您还可以设置电话号码格式,如下所示:

代码语言:javascript
复制
SELECT
SUBSTRING ('123456781', 0, 0) + '(' +  
SUBSTRING ('123456781', 1, 3) + ')-' + 
SUBSTRING('123456781', 4, 3) + '-' + 
SUBSTRING('123456781', 7, 4)

结果是:

希望这能有所帮助

票数 0
EN

Stack Overflow用户

发布于 2014-06-16 05:37:59

1)您可以在客户端或报表中轻松地格式化这些字符串。例如,Reporting Services有一个用于textbox的Format property,也有一个Format function

2)只有在没有任何选项(参见#1)的情况下,才能在SQL Server中格式化字符串,如下所示:

代码语言:javascript
复制
SELECT '(' + STUFF(STUFF('1234567891', 7, 0, '-'), 4, 0, ')-') AS Val1

SELECT '$' + REPLACE('3M/3M', '/', '/$') AS Val2

/*
Val1
--------------
(123)-456-7891

Val2
--------------
$3M/$3M
*/

SELECT FORMAT(1234567891, '(###)-###-####') AS Val3 -- SQL Server 2012+
/*
Val3
--------------
(123)-456-7891
*/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24233275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档