如何在sql server中自动连接三个字符串前两个字符

时间:2014-07-12 04:13:18

标签: sql-server stored-procedures

I have three columns in a table like name,village,state.
Name='Samba Siva'
Village='Kodur'
State='Andra pradesh'

我想将三列列为cancatenate,如第一列的前两个字符和第二列的第一个字符以及第三列的第一个字符和当前年份的最后两个数字。

我试过这样的

select right(replace(name,2)+Cast(cast(coalesce(max(village),0) as varchar) as varchar),2) customercode
from(select top 1 customercode from K_FS_DistributorDetails order by customercode)r;

但它不起作用。即:我想要输出       代码=' SAKOA14&#39 ;. 这里14是当前年份的最后两位数。     请告诉我如何编写查询请帮帮我.......

1 个答案:

答案 0 :(得分:2)

你在找这样的东西吗?

SELECT TOP 1 UPPER(LEFT(Name, 2) + LEFT(Village, 2) + LEFT(State, 1) + CONVERT(VARCHAR, YEAR(GETDATE()) % 100)) code
  FROM K_FS_DistributorDetails
 ORDER BY customercode DESC

输出:

|    CODE |
|---------|
| SAKOA14 |

这是 SQLFiddle 演示