Sql 同时查询和格式化字符串
我正在使用SQL Server 2012 我有一个简单的问题Sql 同时查询和格式化字符串,sql,sql-server,Sql,Sql Server,我正在使用SQL Server 2012 我有一个简单的问题 select * from P_Bld where datep = (select max(datep) from P_Bld) and codeBlood like 'nm_%' order by codeBlood 这可以正常工作,并返回如下所示的数据 codeBlood num nm_aab 1 nm_abc 2 nm_rst 3 我想知道是否有可能更改codeBlood列,
select * from P_Bld
where datep = (select max(datep) from P_Bld)
and codeBlood like 'nm_%'
order by codeBlood
这可以正常工作,并返回如下所示的数据
codeBlood num
nm_aab 1
nm_abc 2
nm_rst 3
我想知道是否有可能更改codeBlood列,使其不包含'nm_u3;',并将字符串的其余部分改为大写,以便得到如下内容:
codeBlood num
AAB 1
ABC 2
RST 3
这可能吗?我想这样就可以了,
首先使用replace()
函数将“nm”替换为空白,然后将剩余字符串转换为大写buUpper()
函数
select Upper(Replace(codeBlood,'nm_','')) as codeBlood,num from P_Bld
where datep = (select max(datep) from P_Bld)
and codeBlood like 'nm_%'
order by codeBlood
我想这个就行了,
首先使用replace()
函数将“nm”替换为空白,然后将剩余字符串转换为大写buUpper()
函数
select Upper(Replace(codeBlood,'nm_','')) as codeBlood,num from P_Bld
where datep = (select max(datep) from P_Bld)
and codeBlood like 'nm_%'
order by codeBlood
如果模式相同,请尝试此
select Upper(substring(codeBlood,4,length(CodeBllod))),num from P_Bld
where datep = (select max(datep) from P_Bld)
and codeBlood like 'rf_%'
order by codeBlood
如果模式相同,请尝试此
select Upper(substring(codeBlood,4,length(CodeBllod))),num from P_Bld
where datep = (select max(datep) from P_Bld)
and codeBlood like 'rf_%'
order by codeBlood
是的,你可以这样做
select SUBSTRING ( UPPER(codeBlood) ,4 , LEN(codeBlood) ),num from P_Bld
where datep = (select max(datep) from P_Bld)
and codeBlood like 'rf_%'
order by codeBlood
是的,你可以这样做
select SUBSTRING ( UPPER(codeBlood) ,4 , LEN(codeBlood) ),num from P_Bld
where datep = (select max(datep) from P_Bld)
and codeBlood like 'rf_%'
order by codeBlood
抱歉,应该是rf,还有一张桌子上有nm。我在这篇文章里把一切都写在了nm_uu上。感谢您发现,如果您有一个列
codeBlood
,这是否意味着您有一个“人类可读”的翻译表?你不应该用它来代替吗?很抱歉,它应该是rf的,还有一张有nm的桌子。我在这篇文章里把一切都写在了nm_uu上。感谢您发现,如果您有一个列codeBlood
,这是否意味着您有一个“人类可读”的翻译表?你不应该使用它吗?使用了3个函数,而使用了2个函数。它会影响性能吗?使用了3个功能,而使用了2个功能。它会影响性能吗?