mysql - SQL Server soundex 和 MySQL soundex 的区别
问题描述
您好,我想在 SQL Server 上使用 Soundex。我找到了 MySQL 的好例子:
SELECT SOUNDEX('game of thrones')
当我尝试这个查询时:
- MySQL 返回:G513652
- SQL Server 返回:G500
我搜索但找不到原因。他们不一样吗?
解决方案
从MySQL 文档:
一个标准的 soundex 字符串是四个字符长,但 SOUNDEX() 函数返回一个任意长的字符串。您可以在结果上使用 SUBSTRING() 来获得标准的 soundex 字符串。
MSSQL 返回的版本是正常长度,MySQL 只是由于某种原因有所不同。
看起来 MSSQL 也只看第一个词。使用第三个 soundex 实现,SOUNDEX('game')
给G500
和SOUNDEX('game of thrones')
给G513
。
推荐阅读
- sql - postgresql查询缓慢避免使用函数
- c# - C# 中的 IPP 打印 - 有可能吗?
- angular - 如何将更改的对象作为主题发出并仅订阅一个键更改?
- flutter - Flutter 中热重载原生代码变更(插件开发)
- javascript - 从内部事件处理程序访问类/子类函数和属性
- c# - 如何创建随机数列表并确保 C# 彩票程序没有重复项?
- stm32 - STM32:未对齐的循环 DMA UART 缓冲区
- java - 对包含 groovy 类的包使用反射时,“org.reflections.Reflections - 无法获取名称类型”
- java - Gson没有序列化值
- python - 在 IBM Watson 中部署笔记本