如果它们存在于sql server

时间:2017-09-13 08:45:15

标签: sql-server date

我在SQL Server中遇到一个问题,我有一个列,其中包含一个名称列表,这些名称可能会或者可能没有最后一个出生日期。然后将此列合并到一个模板中,该模板要求仅显示名称而不是出生日期。

我遇到的问题是,如果所有行都包含姓名和出生日期值,我可以在最后修改出生日期。但是,如果最后没有出生日期,我如何告诉SQL单独留下这些行而不是修剪掉这些行?

例如:

COLUMN_NAME
John Doe 01/01/1990
Jane Smith 31/12/1991
Bob Fossil

我目前的代码:

select ..., left (COLUMN_NAME, len(COLUMN_NAME) - 10) 
FROM...

这将正确地取出John Doe和Jane Smith的出生日期,但我最后得到了Bob Fossil的空白(因为它是10个字符)。

1 个答案:

答案 0 :(得分:0)

您可以使用PATINDEX作为简单的正则表达式来检查日期模式,检索起始索引(如果存在)并将其删除。

这里的例子是

@Component
public class ExampleListener implements MessageListener {

@Autowired
private ObjectMapper objectMapper;

public void onMessage(Message message) {
    if (message instanceof TextMessage) {// we set the converter targetType to text
        try {
            String json = ((TextMessage) message).getText(); // here you have your event object as json string
            Event event = objectMapper.readValue(json, Event.class); // convert back to event object
        }
        catch (JMSException ex) {
            throw new RuntimeException(ex);
        }
    }
    else {
        throw new IllegalArgumentException("Message must be of type TextMessage");
    }
}

查看最佳小说:http://sqlfiddle.com/#!6/1bb08/6/0