я была поставлена задача разработать запрос, который ведет себя по существу как следующий:SQL Как условие не запускается
SELECT * FROM tblTestData WHERE *.TestConditions LIKE '*textToSearch*'
textToSearch является строка, которая содержит информацию о состоянии, в котором данный устройство проверяется (напряжение, ток, частота и т.д.) в следующем формате в качестве примера:
[V:127][PF:1][F:50][I:65]
цель состоит в том, чтобы восстановить список любых и все тесты, выполняемые при напряжении 127 вольт, так что SQL разработали бы как folllowing:
SELECT * FROM tblTestData WHERE *.TestConditions LIKE '*V:127*'
Это работает как задумано, но есть проблема в связи с введением inproper данных, имеются случаи, в которых строка _textToSearch выглядит следующим примерам:
[V.127][PF:1][F:50][I:65]
[V.230][PF:1][F:50][I:65]
As вы можете видеть, моя предыдущая транзакция SQL не работает, поскольку она не соответствует условиям.
Если я пытаюсь сделать следующую сделку с целью игнорирования неправильного формата данных:
SELECT * FROM tblTestData WHERE *.TestConditions LIKE '*V*127*'
Сделка не успешная и возвращает ошибку.
Что я делаю неправильно для этой транзакции, чтобы не работать? Я приближаюсь к этой проблеме неправильно?
я вижу пару проблем, хотя с этой сделки, если бы группа условий испытаний, таких как следующие:
[V.127][PF:1][F:50][I:127]
[V.230][PF:1][F:50][I:127]
Будет ли возвращать значения обеих точек данных, которые не только отвечают условию из транзакция, указанная выше?
В заключение, мои вопросы:
- Что случилось с LIKE '* V * 127 * условие для того, чтобы не работать?
- Какие последствия имеет работа с этим условием? Может ли он вернуть больше информации, чем хотелось бы, если я не буду осторожен?
Я надеюсь, что это ясно, что я прошу, если это не так, пожалуйста, указать на то, что не ясно, и я попытаюсь прояснить это
Подстановочный знак для нескольких символов - '%' в SQL, а не '*': https://docs.oracle.com/database/121/SQLRF/conditions007.htm#SQLRF52142, но вы, вероятно, захотите использовать регулярное выражение : https://docs.oracle.com/database/121/SQLRF/conditions007.htm#SQLRF00501 –