您好,我制作了一个正在使用的哑表,例如,我试图获取姓氏名字的第一个字母。 Aba Kadabra和Alfa Kadabra姓氏的最后一个字母是'K',所以当我测试某些查询时,例如...
select * from employees
where full_name like 'K%'
select * from employees
where full_name like 'K%'
这些都不起作用。谁能告诉我实现此目标的最佳方法?
答案 0 :(得分:2)
因为%
以这种方式工作。 See here
因此,'K%'
仅带了所有以K开头的full_name
。
并且'%K'
带出所有以K结尾的full_name
。
您需要的是'% K%'
,请对其进行测试。
MySQL LIKE运算符检查特定字符串是否匹配 指定的模式。
LIKE 运算符进行模式匹配比较。操作数 LIKE 运算符的右侧包含图案和左手 操作数包含要与模式匹配的字符串。一个百分点 LIKE 模式中的符号(“%”)可以匹配任何零个或多个序列 字符串中的字符。 Like 模式中的下划线(“ _”) 匹配字符串中的任何单个字符。任何其他字符 匹配自身或其等效的小写/大写字母(即 不区分大小写的匹配)。 (一个错误:SQLite仅能理解 默认情况下,ASCII字符的大写/小写。 LIKE运算子是 默认情况下,区分大小写的Unicode字符超出 ASCII范围。例如,表达式'a'LIKE'A'为TRUE,但为'æ' 像“Æ”是假。)
答案 1 :(得分:1)
您可以使用以下查询:
import os
import pickle
import numpy as np
from sklearn.datasets import load_iris
import tensorflow as tf
from google.cloud import logging
class MyPredictor(object):
def __init__(self, model, preprocessor):
self.logging_client = logging.Client()
self._model = model
self._preprocessor = preprocessor
self._class_names = ["Snare", "Kicks", "ClosedHH", "ClosedHH", "Clap", "Crash", "Perc"]
def predict(self, instances, **kwargs):
log_name = "Here I am"
logger = self.logging_client.logger(log_name)
text = 'Hello, world!'
logger.log_text(text)
print('Logged: {}'.format(text), kwargs.get("sr"))
inputs = np.asarray(instances)
outputs = self._model.predict(inputs)
if kwargs.get('probabilities'):
return outputs.tolist()
#return "[]"
else:
return [self._class_names[index] for index in np.argmax(outputs.tolist(), axis=1)]
@classmethod
def from_path(cls, model_dir):
model_path = os.path.join(model_dir, 'model.h5')
model = tf.keras.models.load_model(model_path, custom_objects={"adam": tf.keras.optimizers.Adam,
"categorical_crossentropy":tf.keras.losses.categorical_crossentropy, "lr":0.01, "name": "Adam"})
preprocessor_path = os.path.join(model_dir, 'preprocessor.pkl')
with open(preprocessor_path, 'rb') as f:
preprocessor = pickle.load(f)
return cls(model, preprocessor)