Как Вы возвращаете константу из sql оператора?

Если вы читаете это, и используете Spring Boot, у вас есть еще один вариант для этой функции

. Обычно список с запятой очень неуклюжий для случая использования в реальном мире (и иногда даже невозможно, если вы хотите использовать запятые в своей конфигурации):

email.sendTo=somebody@example.com,somebody2@example.com,somebody3@example.com,.....

С помощью Spring Boot вы можете записать его так (начало индекса в 0):

email.sendTo[0]=somebody@example.com
email.sendTo[1]=somebody2@example.com
email.sendTo[2]=somebody3@example.com

И использовать его например:

@Component
@ConfigurationProperties("email")
public class EmailProperties {

    private List<String> sendTo;

    public List<String> getSendTo() {
        return sendTo;
    }

    public void setSendTo(List<String> sendTo) {
        this.sendTo = sendTo;
    }

}


@Component
public class EmailModel {

  @Autowired
  private EmailProperties emailProperties;

  //Use the sendTo List by 
  //emailProperties.getSendTo()

}



@Configuration
public class YourConfiguration {
    @Bean
  public EmailProperties emailProperties(){
        return new EmailProperties();
  }

}


#Put this in src/main/resource/META-INF/spring.factories
  org.springframework.boot.autoconfigure.EnableAutoConfiguration=example.compackage.YourConfiguration
15
задан Cade Roux 26 November 2008 в 02:00
поделиться

5 ответов

Сделал Вы пробуете:

select 'my message';
24
ответ дан 30 November 2019 в 16:59
поделиться
select "my message" as message
7
ответ дан 30 November 2019 в 16:59
поделиться

Я просто попробовал это на базе данных AdventureWorks, и она работает

Use AdventureWorks

Declare @myVar int
SET @myVar = 1

if (@myVar = 2)

     select top 2 * from HumanResources.Department

else

     select top 1 * from HumanResources.Department
0
ответ дан 30 November 2019 в 16:59
поделиться

Я не имею MSSQL удобный, но проверяю синтаксис на Оператор выбора в случае, если я понял его превратно, и также я не уверен, должен ли TOP 1 выйти за пределы случая, как я выразился здесь или если он ЕЩЕ должен войти (имя TOP 1). Идея:

SELECT TOP 1 CASE WHEN myexpression = 'true' THEN 'my message' ELSE name END
FROM people;

Здесь myexpression должен быть или константами или связанный с таблицами, существующими в запросе, например

CASE WHEN address LIKE '%Michigan%'

, где адрес является другим полем у людей таблицы.

пз: Найденный синтаксисом СЛУЧАЯ MSSQL здесь :-)

4
ответ дан 30 November 2019 в 16:59
поделиться
select top 1 name 
from people
where @MyParameter = whatever

union

select 'my message' as name
where @MyParameter != whatever

Все в одном операторе.

0
ответ дан 30 November 2019 в 16:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: