MySQL命令获取姓氏的第一个字母

时间:2020-02-11 06:18:59

标签: mysql

enter image description here您好,我制作了一个正在使用的哑表,例如,我试图获取姓氏名字的第一个字母。 Aba Kadabra和Alfa Kadabra姓氏的最后一个字母是'K',所以当我测试某些查询时,例如...

select * from employees
where full_name like 'K%'

select * from employees
where full_name like 'K%'

这些都不起作用。谁能告诉我实现此目标的最佳方法?

2 个答案:

答案 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)